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
}

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

Включите мониторинг двух узлов сети, то есть установите их статус в "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": "Обновлённое описание"
            }
        ]
    },
    "id": 1
}

Ответ:

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

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

Измените режим инвентаризации и добавьте местоположение

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.update",
    "params": {
        "hostid": "10387",
        "inventory_mode": 0,
        "inventory": {
            "location": "Латвия, Рига"
        }
    },
    "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
}

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

Преобразуйте макрос, созданный правилом обнаружения как "automatic", в "manual" и измените его значение на "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.