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
}
Обновление обнаруженных макросов узла сети
Преобразование созданного правилом обнаружения "автоматического" макроса в "ручной" и изменение его значения на "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
}
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.
{
"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
}
Смотрите также
- [host.massadd](массовое добавление)
- [host.massupdate](массовое обновление)
- [host.massremove](массовое удаление)
- Группа хостов
- Шаблон
- Пользовательский макрос
- Интерфейс хоста
- Инвентаризация хоста
- Тег хоста
- Proxy
- Proxy group
Источник
CHost::update() в ui/include/classes/api/services/CHost.php.