object host.update(объект/массив hosts)
Этот метод позволяет обновлять существующие узлы сети.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
(object/array)
Свойства хоста для обновления.
Свойство hostid
должно быть определено для каждого хоста, все остальные свойства необязательны. Будут обновлены только заданные свойства, все другие останутся без изменений.
Обратите внимание, что обновление технического имени хоста также приведет к обновлению видимого имени хоста (если оно не задано или не указано) техническим значение имени.
В дополнение к стандартным свойствам хоста метод принимает следующие параметры.
Параметр | Тип | Описание |
---|---|---|
groups | object/array | Host groups, чтобы заменить текущие группы хостов, к которым принадлежит хост. Группы хостов должны иметь groupid определено свойство. Все группы хостов, не указанные в запросе, будут разъединены. |
interfaces | object/array | Host interfaces для замены текущих интерфейсов хоста. Все интерфейсы, не указанные в запросе, будут удалены. |
tags | object/array | Host tags для замены текущих тегов host. Все теги, не указанные в запросе, будут удалены. . |
inventory | object | Свойства хоста inventory. |
macros | object/array | Пользовательские макросы для замены текущих пользовательских макросов. Все макросы, не указанные в запросе, будут удалены. |
templates | object/array | Templates, чтобы заменить текущие связанные шаблоны. Все шаблоны, не указанные в запросе, будут только несвязаны. Для шаблонов должно быть определено свойство templateid . |
templates_clear | object/array | Templates, чтобы разорвать связь и очистить хост. В шаблонах должно быть определено свойство templateid . |
В отличие от внешнего интерфейса Zabbix, когда name
(видимое имя хоста) совпадает с host
(техническое имя хоста), обновляя host
через API не будет автоматически обновлять name
. Оба свойства должны быть обновляется явно.
(object)
Возвращает объект, содержащий идентификаторы обновленных хостов. под свойством hostids
.
Активируйте мониторинг узла сети, установив для него статус "0".
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"id": 1
}
Ответ:
Отсоединить и очистить два шаблона от хоста.
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"templates_clear": [
{
"templateid": "10124"
},
{
"templateid": "10125"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
Заменить все макросы узла двумя новыми.
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"macros": [
{
"macro": "{$PASS}",
"value": "password"
},
{
"macro": "{$DISC}",
"value": "sda",
"description": "Updated description"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
Изменение режима инвентаризации и добавление местоположения
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"inventory_mode": 0,
"inventory": {
"location": "Latvia, Riga"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
Заменить все теги хоста на новый.
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10387",
"tags": {
"tag": "OS",
"value": "RHEL 7"
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
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() в ui/include/classes/api/services/CHost.php.