host.update

Описание

object host.update(объект/массив hosts)

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

Этот метод доступен только пользователям с типом доступа Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object/array) Свойства узла сети, которые необходимо обновить.

Свойство hostid должно быть определено для каждого узла сети, все остальные свойства необязательны. Будут обновлены только указанные свойства, все остальные останутся без изменений.

Однако обратите внимание, что при обновлении технического имени узла сети также будет обновлено видимое имя узла сети (если оно не задано отдельно) на значение технического имени узла сети.

Помимо стандартных свойств узла сети, метод принимает следующие параметры.

Параметр Тип Описание
groups object/array Группы узлов сети, которые заменят текущие группы узла сети, к которым он принадлежит.
Все группы узлов сети, не указанные в запросе, будут отвязаны.

Группы узлов сети должны содержать только свойство groupid.
interfaces object/array Интерфейсы узла сети, которые заменят текущие интерфейсы узла сети.
Все интерфейсы, не указанные в запросе, будут удалены.
tags object/array Теги узла сети, которые заменят текущие теги узла сети.
Все теги, не указанные в запросе, будут удалены.
inventory object Свойства инвентаря узла сети.
macros object/array Пользовательские макросы, которые заменят текущие пользовательские макросы.
Все макросы, не указанные в запросе, будут удалены.
templates object/array Шаблоны, которые заменят текущие привязанные шаблоны.
Все шаблоны, не указанные в запросе, будут только отвязаны.

Шаблоны должны содержать только свойство templateid.
templates_clear object/array Шаблоны, которые нужно отвязать и очистить с узла сети.

Шаблоны должны содержать только свойство templateid.

Возвращаемые значения

(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"
            }
        ]
    },
    "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"
            }
        ]
    },
    "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"
        }
    },
    "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"
        }
    },
    "id": 1
}

Ответ:

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

Обновление обнаруженных макросов узла сети

Преобразование созданного правилом обнаружения "автоматического" макроса в "ручной" и изменение его значения на "new-value".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "macros": {
            "hostmacroid": "5541",
            "value": "new-value",
            "automatic": "0"
        }
    },
    "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"
    },
    "id": 1
}

Ответ:

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

См. также

Источник

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