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

host.update

Описание

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",
           "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
       }

Updating discovered host macros

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:

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

Updating host encryption

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.

Request:

{
           "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:

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

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

Источник

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