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.
(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.
(object) Retorna um objeto contendo os IDs dos hosts atualizados na propriedade hostids.
Habilite o monitoramento do host, ou seja, defina seu status como "0".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"id": 1
}Resposta:
Desvincular e limpar dois templates de um host.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"id": 1
}Resposta:
Substitua todas as macros do host por duas novas.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "password"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Updated description"
}
]
},
"id": 1
}Resposta:
Alterar o modo de inventário e adicionar localização
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Latvia, Riga"
}
},
"id": 1
}Resposta:
Substitua todas as tags de host por uma nova.
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "os",
"value": "rhel-7"
}
},
"id": 1
}Resposta:
Converta a macro criada pela regra de descoberta de "automática" para "manual" e altere seu valor para "novo-valor".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"macros": {
"hostmacroid": "5541",
"value": "new-value",
"automatic": "0"
}
},
"id": 1
}Resposta:
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.
{
"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:
CHost::update() em ui/include/classes/api/services/CHost.php.