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

host.update

Описание

object host.update(object/array hosts)

Этот метод позволяет обновлять существующие узлы сети.

Этот метод доступен только для пользователей с ролью Admin и Super admin. Разрешения на вызов метода можно отозвать в настройках роли пользователя. Смотрите Роли пользователя, чтобы получить больше информации.

Параметры

(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.