Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

host.update

Описание

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",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "id": 1
       }

Отвязка шаблонов

Отсоединить и очистить два шаблона от хоста.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10126",
               "templates_clear": [
                   {
                       "templateid": "10124"
                   },
                   {
                       "templateid": "10125"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "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",
           "result": {
               "hostids": [
                   "10126"
               ]
           },
           "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",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "id": 1
       }

Обновление тегов хоста

Заменить все теги хоста на новый.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.update",
           "params": {
               "hostid": "10387",
               "tags": {
                   "tag": "OS",
                   "value": "RHEL 7"
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10387"
               ]
           },
           "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
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": {
               "hostids": [
                   "10590"
               ]
           },
           "id": 1
       }

Смотрите также

Источник

CHost::update() в ui/include/classes/api/services/CHost.php.