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.
(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.
(object)
Retorna um objeto contendo os IDs dos hosts atualizados sob a propriedade hostids
.
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:
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:
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:
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:
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:
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:
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.
{
"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:
CHost::update() em ui/include/classes/api/services/CHost.php.