object host.update(объект/массив hosts)
Этот метод позволяет обновлять существующие узлы сети.
Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
(object/array)
Свойства узла сети, которые необходимо обновить.
Свойство hostid
должно быть определено для каждого узла сети, все остальные свойства необязательны. Будут обновлены только заданные свойства, все другие останутся без изменений.
Обратите внимание, что обновление технического имени узла сети также приведет к обновлению видимого имени узла сети (если оно не задано или не указано) на значение технического имени.
В дополнение к стандартным свойствам узла сети метод принимает следующие параметры.
Параметр | Тип | Описание |
---|---|---|
groups | объект/массив | Группы узлов сети, на которые необходимо заменить текущие группы, к которым принадлежит узел сети. Для групп узлов сети должно быть определено свойство groupid . Привязка ко всем группам, не указанным в запросе, будет удалена. |
interfaces | объект/массив | Интерфейсы узла сети, на которые необходимо заменить текущие интерфейсы. Все интерфейсы, не указанные в запросе, будут удалены. |
tags | объект/массив | Теги узла сети, на которые необходимо заменить текущие теги. Все теги, не указанные в запросе, будут удалены. |
inventory | объект | Свойства инвентарных данных узла сети. |
macros | объект/массив | Пользовательские макросы для замены текущих пользовательских макросов. Все макросы, не указанные в запросе, будут удалены. |
templates | объект/массив | Шаблоны, чтобы заменить текущие связанные шаблоны. Привязка ко всем шаблонам, не указанным в запросе, будет удалена. Для шаблонов должно быть определено свойство templateid . |
templates_clear | объект/массив | Шаблоны, для которых необходимо удалить привязку к узлу сети и удалить составляющие шаблона с узла сети. Для шаблонов должно быть определено свойство templateid . |
В отличие от веб-интерфейса Zabbix, где name
(видимое имя узла сети) совпадает с host
(техническим именем узла сети), обновление host
через API не будет автоматически обновлять name
. Оба свойства должны быть обновлены непосредственно.
(object)
Возвращает объект, содержащий идентификаторы обновленных хостов. под свойством hostids
.
Активировать мониторинг узла сети, т.е. установить для него статус 0.
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10126",
"status": 0
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"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
}
Ответ:
Обновить узел сети "10590", чтобы шифрование PSK использовалось только для соединений от узла сети к серверу Zabbix, и поменять идентификатор PSK и ключ PSK. Учтите, что для узла сети должно быть предварительно настроено использование PSK.
Запрос:
{
"jsonrpc": "2.0",
"method": "host.update",
"params": {
"hostid": "10590",
"tls_connect": 1,
"tls_accept": 2,
"tls_psk_identity": "PSK 002",
"tls_psk": "e560cb0d918d26d31b4f642181f5f570ad89a390931102e5391d08327ba434e9"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
CHost::update() в ui/include/classes/api/services/CHost.php.