Você está visualizando a documentação da versão de desenvolvimento, que pode estar incompleta.
Esta página foi traduzida automaticamente. Se você notar um erro, selecione-o e pressione Ctrl+Enter para reportá-lo aos editores.

host.update

Descrição

object host.update(object/array hosts)

Este método permite atualizar hosts existentes.

Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função do usuário. Veja Funções de usuário para mais informações.

Parâmetros

(object/array) Propriedades do host a serem atualizadas.

A propriedade hostid deve ser definida para cada host, todas as outras propriedades são opcionais. Somente as propriedades fornecidas serão atualizadas, todas as outras permanecerão inalteradas.

Observe, no entanto, que atualizar o nome técnico do host também atualizará o nome visível do host (se não for fornecido ou estiver vazio) pelo valor do nome técnico do host.

Além das propriedades padrão do host, o método aceita os seguintes parâmetros.

Parâmetro Tipo Descrição
groups object/array Grupos de hosts para substituir os grupos de hosts atuais aos quais o host pertence.
Todos os grupos de hosts que não estiverem listados na solicitação serão desvinculados.

Os grupos de hosts devem ter apenas a propriedade groupid definida.
interfaces object/array Interfaces de host para substituir as interfaces de host atuais.
Todas as interfaces que não estiverem listadas na solicitação serão removidas.
tags object/array Tags de host para substituir as tags de host atuais.
Todas as tags que não estiverem listadas na solicitação serão removidas.
inventory object Propriedades do Inventário de host.
macros object/array Macros de usuário para substituir as macros de usuário atuais.
Todas as macros que não estiverem listadas na solicitação serão removidas.
templates object/array Templates para substituir os templates atualmente vinculados.
Todos os templates que não estiverem listados na solicitação serão apenas desvinculados.

Os templates devem ter apenas a propriedade templateid definida.
templates_clear object/array Templates para desvincular e limpar do host.

Os templates devem ter apenas a propriedade templateid definida.

Ao contrário do frontend do Zabbix, quando name (nome visível do host) é igual a host (nome técnico do host), atualizar host via API não atualizará automaticamente name. Ambas as propriedades precisam ser atualizadas explicitamente.

Valores de retorno

(object) Retorna um objeto contendo os IDs dos hosts atualizados na propriedade hostids.

Exemplos

Habilitando um host

Habilite o monitoramento do host, ou seja, defina seu status como "0".

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "status": 0
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Desvinculando templates

Desvincular e limpar dois templates de um host.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Atualizando macros de host

Substitua todas as macros do host por duas novas.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "macros": [
                   {
                       "macro": "{$PASS}",
                       "value": "password"
                   },
                   {
                       "macro": "{$DISC}",
                       "value": "sda",
                       "description": "Updated description"
                   }
               ]
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Atualizando o inventário do host

Alterar o modo de inventário e adicionar localização

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "inventory_mode": 0,
               "inventory": {
                   "location": "Latvia, Riga"
               }
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Atualizando tags de host

Substitua todas as tags de host por uma nova.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "os",
                   "value": "rhel-7"
               }
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Atualizando macros de host descobertos

Converta a macro criada pela regra de descoberta de "automática" para "manual" e altere seu valor para "novo-valor".

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "macros": {
                   "hostmacroid": "5541",
                   "value": "new-value",
                   "automatic": "0"
               }
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Atualizando a criptografia do host

Atualize o host "10590" para usar apenas criptografia PSK para conexões do host para o Zabbix server e altere a identidade PSK e a chave PSK. Observe que o host deve ser pré-configurado para usar PSK.

Requisição:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10590",
               "tls_connect": 1,
               "tls_accept": 2,
               "tls_psk_identity": "PSK 002",
               "tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
           },
           "id": 1
       }

Resposta:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

Veja também

Origem

CHost::update() em ui/include/classes/api/services/CHost.php.