host.update

Описание

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

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

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

Параметры

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

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

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

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

Parameter Type Description
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
}

Включение нескольких узлов сети

Включите мониторинг двух узлов сети, то есть установите их статус в "0".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": [
        {
            "hostid": "10127",
            "status": 0
        },
        {
            "hostid": "10128",
            "status": 0
        }
    ],
    "id": 1
}

Ответ:

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