host.get

Описание

целое число/массив host.get(объект параметры)

Этот метод позволяет получать узлы сети в соответствии с заданными параметрами.

Параметры

(объект) Параметры задают желаемый вывод.

Этот метод поддерживает следующие параметры.

Параметр Тип Описание
groupids строка/массив Возврат только тех узлов сети, которые принадлежат заданным группам узлов сети.
applicationids строка/массив Возврат только тех узлов сети, которые имеют заданные группы элементов данных.
dserviceids строка/массив Возврат только тех узлов сети, которые относятся к заданным обнаруженным сервисам.
graphids строка/массив Возврат только тех узлов сети, которые имеют заданные графики.
hostids строка/массив Возврат узлов сети только с заданными ID узлов сети.
httptestids строка/массив Возврат только тех узлов сети, которые имеют заданные веб проверки.
interfaceids строка/массив Возврат только тех узлов сети, которые используют заданные интерфейсы.
itemids строка/массив Возврат только тех узлов сети, которые имеют заданные элементы данных.
maintenanceids строка/массив Возврат только тех узлов сети, на которых действуют заданные обслуживания.
monitored_hosts флаг Возврат узлов сети только под наблюдением.
proxy_hosts флаг Возврат только прокси.
proxyids строка/массив Возврат только тех узлов сети, которые наблюдаются заданными прокси.
templated_hosts флаг Возврат как узлов сети, так и шаблонов.
templateids строка/массив Возврат только тех узлов сети, к которым присоединены заданные шаблоны.
triggerids строка/массив Возврат только тех узлов сети, которые имеют заданные триггеры.
with_items флаг Возврат только тех узлов сети, у которых имеются элементы данных.

Переопределяет параметры with_monitored_items и with_simple_graph_items.
with_item_prototypes флаг Возврат только тех узлов сети, у которых имеются прототипы элементов данных.

Переопределяет параметр with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes флаг Возврат только тех узлов сети, у которых имеются прототипы элементов данных, которые помечены на создание и имеют числовой тип информации.
with_applications флаг Возврат только тех узлов сети, которые имеют группы элементов данных.
with_graphs флаг Возврат только тех узлов сети, которые имеют графики.
with_graph_prototypes флаг Возврат только тех узлов сети, у которых имеются прототипы графиков.
with_httptests флаг Возврат только тех узлов сети, которые имеют веб проверки.

Переопределяет параметр with_monitored_httptests.
with_monitored_httptests флаг Возврат только тех узлов сети, которые имеют активированные веб проверки.
with_monitored_items флаг Возврат только тех узлов сети, которые имеют активированные элементы данных.

Переопределяет параметр with_simple_graph_items.
with_monitored_triggers флаг Возврат только тех узлов сети, которые имеют активированные триггеры. Все элементы данных, используемые в триггере, также должны быть активированы.
with_simple_graph_items флаг Возврат только тех узлов сети, которые имеют элементы данных с числовым типом информации.
with_triggers флаг Возврат только тех узлов сети, которые имеют триггеры.

Переопределяет параметр with_monitored_triggers.
evaltype целое число Правила для поиска тегов.

Возможные значения:
0 - (по умолчанию) И / ИЛИ;
2 - ИЛИ.
tags массив/объект Возврат узлов сети только с заданными тегами. Точное совпадение по тегу и регистрозависимый или независимый от регистра поиск по значению тега в зависимости от значения оператора.
Формат: [{"tag": "<тег>", "value": "<значение>", "operator": "<оператор>"}, ...].
Пустой массив вернёт все узлы сети.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равен.
selectApplications запрос Возврат групп элементов данных с узла сети в свойстве applications.

Поддерживается count.
selectDiscoveries запрос Возврат низкоуровневых обнаружений с узла сети в свойстве discoveries.

Поддерживается count.
selectDiscoveryRule запрос Возврат discoveryRule свойства с правилом низкоуровневого обнаружения узла сети, которое создало узел сети (с прототипа узлов сети в VMWare мониторинге).
selectGraphs запрос Возврат графиков с узла сети в свойстве graphs.

Поддерживается count.
selectGroups запрос Возврат свойства groups с данными групп узлов сети, которым принадлежит узел сети.
selectHostDiscovery запрос Возврат hostDiscovery свойства с объектами обнаружения узла сети.

Объект обнаружения узлов сети связывает обнаруженный узел сети с прототипом узлов сети или прототипы узлов сети с LLD правилом и имеет следующие свойства:
host - (строка) имя узла сети прототипа узлов сети;
hostid - (строка) ID обнаруженного узла сети или прототипа узлов сети;
parent_hostid - (строка) ID прототипа узлов сети с которого был создан узел сети;
parent_itemid - (строка) ID правила LLD, которое создало обнаруженный узел сети;
lastcheck - (штамп времени) время, когда узел сети был в последний раз обнаружен;
ts_delete - (штамп времени) время, когда более необнаруживаемый узел сети будет удален.
selectHttpTests запрос Возврат httpTests свойства с веб-сценариями с узла сети.

Поддерживается count.
selectInterfaces запрос Возврат interfaces свойства с интерфейсами узла сети.

Поддерживается count.
selectInventory запрос Возврат inventory свойства с данными инвентаризации узла сети с узла сети.
selectItems запрос Возврат items свойства с элементами данных с узла сети в свойстве items.

Поддерживается count.
selectMacros запрос Возврат macros свойства с макросами с узла сети.
selectParentTemplates запрос Возврат parentTemplates свойства с шаблонами, к которым присоединен узел сети.

Поддерживается count.
selectScreens запрос Возврат screens свойства с комплексными экранами с узла сети.

Поддерживается count.
selectTags запрос Возврат свойства tags с тегами узла сети.
selectTriggers запрос Возврат triggers свойства с триггерами с узла сети.

Поддерживается count.
filter объект Возврат только тех результатов, которые в точности соответствуют заданному фильтру.

Принимает массив, где ключи являются именами свойств и значения, которые являются либо одним значением, либо массивом сопоставляемых значений.

Позволяет фильтровать по свойствам интерфейсов.
limitSelects целое число Ограничение количества записей, возвращаемых подзапросами.

Применимо только к следующим подзапросам:
selectParentTemplates - все результаты сортируются по host;
selectInterfaces;
selectItems - сортируются по name;
selectDiscoveries - сортируются по name;
selectTriggers - сортируются по description;
selectGraphs - сортируются по name;
selectApplications - сортируются по name;
selectScreens - сортируются по name.
search объект Возврат результатов, которые соответствуют заданному шаблону поиска.

Принимает массив, где ключи являются именами свойств и значения являются строками по которым производить поиск. Если дополнительные опции не заданы, эта опция выполнит поиск LIKE "%…%".

Позволяет выполнять поиск по свойствам интерфейсов. Работает только с текстовыми полями.
searchInventory объект Возврат только тех узлов сети, инвентарные данные которых соответствуют заданному шаблону поиска.

Этот параметр зависит от тех же дополнительных параметров что и search.
sortfield строка/массив Сортировка результата в соответствии с заданными свойствами.

Возможные значения: hostid, host, name, status.
countOutput логический Эти параметры являются общими для всех методов get и они описаны в справочных комментариях.
editable логический
excludeSearch логический
limit целое число
output запрос
preservekeys логический
searchByAny логический
searchWildcardsEnabled логический
sortorder строка/массив
startSearch логический

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

(целое число/массив) Возвращает либо:

  • массив объектов;
  • количество найденных объектов, если используется параметр countOutput.

Примеры

Получение данных по имени

Получение всех данных о двух узлах сети с именами "Zabbix server" и "Linux server".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "filter": {
                   "host": [
                       "Zabbix server",
                       "Linux server"
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "maintenances": [],
                   "hostid": "10160",
                   "proxy_hostid": "0",
                   "host": "Zabbix server",
                   "status": "0",
                   "disable_until": "0",
                   "error": "",
                   "available": "0",
                   "errors_from": "0",
                   "lastaccess": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "ipmi_disable_until": "0",
                   "ipmi_available": "0",
                   "snmp_disable_until": "0",
                   "snmp_available": "0",
                   "maintenanceid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "ipmi_errors_from": "0",
                   "snmp_errors_from": "0",
                   "ipmi_error": "",
                   "snmp_error": "",
                   "jmx_disable_until": "0",
                   "jmx_available": "0",
                   "jmx_errors_from": "0",
                   "jmx_error": "",
                   "name": "Zabbix server",
                   "description": "The Zabbix monitoring server.",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": "",
                   "tls_psk_identity": "",
                   "tls_psk": ""
               },
               {
                   "maintenances": [],
                   "hostid": "10167",
                   "proxy_hostid": "0",
                   "host": "Linux server",
                   "status": "0",
                   "disable_until": "0",
                   "error": "",
                   "available": "0",
                   "errors_from": "0",
                   "lastaccess": "0",
                   "ipmi_authtype": "-1",
                   "ipmi_privilege": "2",
                   "ipmi_username": "",
                   "ipmi_password": "",
                   "ipmi_disable_until": "0",
                   "ipmi_available": "0",
                   "snmp_disable_until": "0",
                   "snmp_available": "0",
                   "maintenanceid": "0",
                   "maintenance_status": "0",
                   "maintenance_type": "0",
                   "maintenance_from": "0",
                   "ipmi_errors_from": "0",
                   "snmp_errors_from": "0",
                   "ipmi_error": "",
                   "snmp_error": "",
                   "jmx_disable_until": "0",
                   "jmx_available": "0",
                   "jmx_errors_from": "0",
                   "jmx_error": "",
                   "name": "Linux server",
                   "description": "",
                   "tls_connect": "1",
                   "tls_accept": "1",
                   "tls_issuer": "",
                   "tls_subject": "",
                   "tls_psk_identity": "",
                   "tls_psk": ""
               }
           ],
           "id": 1
       }

Получение групп узлов сети

Получение имен групп узлов сети членами которых является узел сети "Zabbix server", без деталей о самом узле сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectGroups": "extend",
               "filter": {
                   "host": [
                       "Zabbix server"
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10085",
                   "groups": [
                       {
                           "groupid": "2",
                           "name": "Linux servers",
                           "internal": "0",
                           "flags": "0"
                       },
                       {
                           "groupid": "4",
                           "name": "Zabbix servers",
                           "internal": "0",
                           "flags": "0"
                       }
                   ]
               }
           ],
           "id": 2
       }

Получение присоединенных шаблонов

Получение ID и имен шаблонов, которые присоединены к узлу сети "10084".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectParentTemplates": [
                   "templateid",
                   "name"
               ],
               "hostids": "10084"
           },
           "id": 1,
           "auth": "70785d2b494a7302309b48afcdb3a401"
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10084",
                   "parentTemplates": [
                       {
                           "name": "Template OS Linux",
                           "templateid": "10001"
                       },
                       {
                           "name": "Template App Zabbix Server",
                           "templateid": "10047"
                       }
                   ]
               }
           ],
           "id": 1
       }

Поиск по данным инвентаризации узла сети

Получение всех узлов сети, которые содержат слово "Linux" в поле "ОС" инвентаризации узла сети.

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": [
                   "host"
               ],
               "selectInventory": [
                   "os"
               ],
               "searchInventory": {
                   "os": "Linux"
               }
           },
           "id": 2,
           "auth": "7f9e00124c75e8f25facd5c093f3e9a0"
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10084",
                   "host": "Zabbix server",
                   "inventory": {
                       "os": "Linux Ubuntu"
                   }
               },
               {
                   "hostid": "10107",
                   "host": "Linux server",
                   "inventory": {
                       "os": "Linux Mint"
                   }
               }
           ],
           "id": 1
       }

Поиск по тегам узлов сети

Получение узлов сети, у которых есть тег "Host name", который равен значению "Linux server".

Запрос:

{
           "jsonrpc": "2.0",
           "method": "host.get",
           "params": {
               "output": ["hostid"],
               "selectTags": "extend",
               "evaltype": 0,
               "tags": [
                   {
                       "tag": "Host name",
                       "value": "Linux server",
                       "operator": 1
                   }
               ]
           },
           "auth": "7f9e00124c75e8f25facd5c093f3e9a0",
           "id": 1
       }

Ответ:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10085",
                   "tags": [
                       {
                           "tag": "Host name",
                           "value": "Linux server"
                       },
                       {
                           "tag": "OS",
                           "value": "RHEL 7"
                       }
                   ]
               }
           ],
           "id": 1
       }

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

Исходный код

CHost::get() в frontends/php/include/classes/api/services/CHost.php.