Esta é uma tradução da página de documentação original em inglês. Ajude-nos a torná-la melhor.

host.update

Descrição

object host.update(object/array hosts)

Este método permite atualizar os hosts existentes.

Este método está disponível apenas para Admin e Superadministrador tipos de usuário. As permissões para chamar o método podem ser revogadas na função de usuário definições. Veja Usuário funções Para maiores informações.

Parâmetros

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

A propriedade hostid deve ser definida para cada host, todos os outros propriedades são opcionais. Somente as propriedades fornecidas serão atualizadas, todas outros permanecerão inalterados.

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

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

|Parâmetro|Tipo|Descrição| |---------|----------------------------------- ------------|-----------| |groups|object/array|Host groups para substituir os grupos de hosts atuais aos quais o host pertence.

Os grupos de hosts devem ter o groupid propriedade definida. Todos os grupos de hosts que não estão listados na solicitação serão desvinculados.| |interfaces|object/array|Host interfaces para substituir as interfaces de host atuais.

Todas as interfaces que não estiverem listadas na solicitação serão removidas.| |tags|object/array|Host tags para substituir as tags de host atuais.

Todas as tags que não estiverem listadas na solicitação serão removidas .| |inventário|objeto|Host inventário propriedades.| |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 modelos que não estiverem listados na solicitação serão apenas desvinculados.

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

Os templates devem ter a propriedade templateid definida.|

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

Valores de retorno

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

Exemplos

Habilitando um host

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

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.update",
           "parâmetros": {
               "hostid": "10126",
               "estado": 0
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

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

Desvinculando modelos

Desvincule e limpe dois modelos do host.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.update",
           "parâmetros": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

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

Atualizando macros de host

Substitua todas as macros de host por duas novas.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.update",
           "parâmetros": {
               "hostid": "10126",
               "macros": [
                   {
                       "macro": "{$PASS}",
                       "valor": "senha"
                   },
                   {
                       "macro": "{$DISC}",
                       "valor": "sda",
                       "description": "Descrição atualizada"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

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

Atualizando o inventário do host

Alterar o modo de inventário e adicionar local

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.update",
           "parâmetros": {
               "hostid": "10387",
               "modo_inventário": 0,
               "inventário": {
                   "location": "Letônia, Riga"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

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

Atualizando tags de host

Substitua todas as tags de host por uma nova.

Solicitação:

{
           "jsonrpc": "2.0",
           "método": "host.update",
           "parâmetros": {
               "hostid": "10387",
               "Tag": {
                   "tag": "SO",
                   "valor": "CentOS 7"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Resposta:

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

Updating discovered host macros

Convert discovery rule created "automatic" macro to "manual" and change its value to "new-value".

Request:

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

Response:

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

Updating host encryption

Update the host "10590" to use PSK encryption only for connections from host to Zabbix server. In addition, update the PSK identity and PSK key for this host. Note that the Zabbix agent that is installed on the host has to be configured to use PSK.

Request:

{
           "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
       }

Response:

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

Veja também

Fonte

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