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.

::: dica 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.