host.get
Описание
integer/array host.get(параметры объекта)
Метод позволяет получить хосты по заданным параметрам.
Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(object) Параметры, определяющие желаемый вывод.
Метод поддерживает следующие параметры.
| Параметр | Тип | Описание |
|---|---|---|
| groupids | ID/array | Возвращать только узлы сети, принадлежащие указанным группам. |
| dserviceids | ID/array | Возвращать только узлы сети, связанные с указанными обнаруженными сервисами. |
| graphids | ID/array | Возвращать только узлы сети, у которых есть указанные графики. |
| hostids | ID/array | Возвращать только узлы сети с указанными ID узлов сети. |
| httptestids | ID/array | Возвращать только узлы сети, у которых есть указанные веб-проверки. |
| interfaceids | ID/array | Возвращать только узлы сети, использующие указанные интерфейсы. |
| itemids | ID/array | Возвращать только узлы сети, у которых есть указанные элементы данных. |
| maintenanceids | ID/array | Возвращать только узлы сети, на которые влияют указанные обслуживания. |
| monitored_hosts | flag | Возвращать только отслеживаемые узлы сети. |
| proxyids | ID/array | Возвращать только узлы сети, которые отслеживаются указанными прокси. |
| proxy_groupids | ID/array | Возвращать только узлы сети, которые отслеживаются указанными группами прокси. |
| templated_hosts | flag | Возвращать как узлы сети, так и шаблоны. |
| templateids | ID/array | Возвращать только узлы сети, связанные с указанными шаблонами. |
| triggerids | ID/array | Возвращать только узлы сети, у которых есть указанные триггеры. |
| with_items | flag | Возвращать только узлы сети, у которых есть элементы данных. Переопределяет параметры with_monitored_items и with_simple_graph_items. |
| with_item_prototypes | flag | Возвращать только узлы сети, у которых есть прототипы элементов данных. Переопределяет параметр with_simple_graph_item_prototypes. |
| with_simple_graph_item_prototypes | flag | Возвращать только узлы сети, у которых есть прототипы элементов данных, включённые для создания и имеющие числовой тип информации. |
| with_graphs | flag | Возвращать только узлы сети, у которых есть графики. |
| with_graph_prototypes | flag | Возвращать только узлы сети, у которых есть прототипы графиков. |
| with_httptests | flag | Возвращать только узлы сети, у которых есть веб-проверки. Переопределяет параметр with_monitored_httptests. |
| with_monitored_httptests | flag | Возвращать только узлы сети, у которых есть включённые веб-проверки. |
| with_monitored_items | flag | Возвращать только узлы сети, у которых есть включённые элементы данных. Переопределяет параметр with_simple_graph_items. |
| with_monitored_triggers | flag | Возвращать только узлы сети, у которых есть включённые триггеры. Все элементы данных, используемые в триггере, также должны быть включены. |
| with_simple_graph_items | flag | Возвращать только узлы сети, у которых есть элементы данных с числовым типом информации. |
| with_triggers | flag | Возвращать только узлы сети, у которых есть триггеры. Переопределяет параметр with_monitored_triggers. |
| withProblemsSuppressed | boolean | Если установлено значение true, возвращать только узлы сети с подавленными проблемами. |
| evaltype | integer | Метод вычисления тегов. Возможные значения: 0 - (по умолчанию) И/Или; 2 - Или. |
| severities | integer/array | Возвращать узлы сети, у которых есть только проблемы указанных уровней серьёзности. Применяется только если объект проблемы — триггер. |
| tags | object/array | Возвращать только узлы сети с указанными тегами. Формат: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].Пустой массив возвращает все узлы сети. Возможные значения operator: 0 - (по умолчанию) Содержит; 1 - Равно; 2 - Не содержит; 3 - Не равно; 4 - Существует; 5 - Не существует. |
| inheritedTags | boolean | Возвращать узлы сети, у которых указанные tags также присутствуют во всех связанных шаблонах.Возможные значения: true - связанные шаблоны также должны иметь указанные tags;false - (по умолчанию) теги связанных шаблонов игнорируются. |
| selectDiscoveryData | query | Возвращать свойство discoveryData с данными объекта обнаружения узла сети. Объект обнаружения узла сети связывает обнаруженный узел сети с прототипом узла сети, из которого он был обнаружен.Имеет следующие свойства: host - (string) ID узла сети;parent_hostid - (string) ID прототипа узла сети, из которого был создан узел сети;status - (int) статус обнаружения узла сети:0 - (по умолчанию) узел сети обнаружен, 1 - узел сети больше не обнаруживается; ts_delete - (timestamp) время, когда узел сети, который больше не обнаруживается, будет удалён;ts_disable - (timestamp) время, когда узел сети, который больше не обнаруживается, будет отключён;disable_source - (int) индикатор того, был ли узел сети отключён правилом LLD или вручную:0 - (по умолчанию) отключён автоматически, 1 - отключён правилом LLD. |
| selectDiscoveryRule | query | Возвращать свойство discoveryRule с правилом обнаружения низкого уровня, которое создало узел сети (из прототипа узла сети при мониторинге VMware). |
| selectDiscoveryRules | query | Возвращать свойство discoveryRules с правилами LLD узла сети.Поддерживает count. |
| selectGraphs | query | Возвращать свойство graphs с графиками узла сети.Поддерживает count. |
| selectHostGroups | query | Возвращать свойство hostgroups с данными групп узлов сети, к которым принадлежит узел сети. |
| selectHttpTests | query | Возвращать свойство httpTests с веб-сценариями узла сети.Поддерживает count. |
| selectInterfaces | query | Возвращать свойство interfaces с интерфейсами узла сети.Поддерживает count. |
| selectInventory | query | Возвращать свойство inventory с инвентарными данными узла сети. |
| selectItems | query | Возвращать свойство items с элементами данных узла сети.Поддерживает count. |
| selectMacros | query | Возвращать свойство macros с макросами узла сети. |
| selectParentTemplates | query | Возвращать свойство parentTemplates с шаблонами, с которыми связан узел сети.Помимо полей объекта Template, содержит link_type - (integer) способ, которым шаблон связан с узлом сети.Возможные значения: 0 - (по умолчанию) связан вручную; 1 - автоматически связан через LLD. Поддерживает count. |
| selectDashboards | query | Возвращать свойство dashboards.Поддерживает count. |
| selectTags | query | Возвращать свойство tags с тегами узла сети. |
| selectInheritedTags | query | Возвращать свойство inheritedTags с тегами, которые присутствуют во всех шаблонах, связанных с узлом сети. |
| selectTriggers | query | Возвращать свойство triggers с триггерами узла сети.Поддерживает count. |
| selectValueMaps | query | Возвращать свойство valuemaps с картами значений узла сети. |
| filter | object | Возвращать только те результаты, которые точно соответствуют заданному фильтру. Принимает объект, где ключи — это имена свойств, а значения — либо одно значение, либо массив значений для сопоставления. Не поддерживает свойства типа данных text data type.Поддерживает дополнительные свойства: свойства интерфейса узла сети. |
| limitSelects | integer | Ограничивает количество записей, возвращаемых подзапросами. Применяется к следующим подзапросам: selectParentTemplates - результаты будут отсортированы по host;selectInterfaces;selectItems - сортировка по name;selectDiscoveryRules - сортировка по name;selectTriggers - сортировка по description;selectGraphs - сортировка по name;selectDashboards - сортировка по name. |
| search | object | Возвращать результаты, соответствующие заданному шаблону (без учёта регистра). Принимает объект, где ключи — это имена свойств, а значения — строки для поиска. Если дополнительные параметры не указаны, будет выполнен поиск LIKE "%…%".Поддерживает только свойства типов данных string и text data type.Поддерживает дополнительные свойства: свойства интерфейса узла сети. |
| searchInventory | object | Возвращать узлы сети, у которых инвентарные данные соответствуют заданному шаблону (без учёта регистра). Принимает объект, где ключи — это имена свойств, а значения — строки для поиска. Если дополнительные параметры не указаны, будет выполнен поиск LIKE "%…%".Поддерживает только свойства типов данных string и text data type. |
| sortfield | string/array | Сортировать результат по указанным свойствам. Возможные значения: hostid, host, name, status. |
| countOutput | boolean | Эти параметры описаны в справочном комментарии. |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean | |
| selectDiscoveries | query | Возвращать свойство discoveries с правилами обнаружения низкого уровня узла сети.Поддерживает count.Этот запрос устарел, используйте вместо него selectDiscoveryRules. |
| selectHostDiscovery | query | Возвращать свойство hostDiscovery с данными объекта обнаружения узла сети.Этот запрос устарел, используйте вместо него selectDiscoveryData. |
Возвращаемые значения
(integer/array) Возвращает либо:
- массив объектов;
- количество извлеченных объектов, если параметр
countOutputбыл использован.
Примеры
Получение данных по имени
Получите все данные о двух узлах сети с именами "Zabbix server" и "Linux server".
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"filter": {
"host": [
"Zabbix server",
"Linux server"
]
}
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10160",
"proxyid": "0",
"host": "Zabbix server",
"status": "0",
"ipmi_authtype": "-1",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"name": "Zabbix server",
"flags": "0",
"description": "The Zabbix monitoring server.",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": "",
"proxy_groupid": "0",
"monitored_by": "0",
"inventory_mode": "1",
"active_available": "1",
"assigned_proxyid": "0"
},
{
"hostid": "10167",
"proxyid": "0",
"host": "Linux server",
"status": "0",
"ipmi_authtype": "-1",
"ipmi_privilege": "2",
"ipmi_username": "",
"ipmi_password": "",
"maintenanceid": "0",
"maintenance_status": "0",
"maintenance_type": "0",
"maintenance_from": "0",
"name": "Linux server",
"flags": "0",
"description": "",
"tls_connect": "1",
"tls_accept": "1",
"tls_issuer": "",
"tls_subject": "",
"proxy_groupid": "0",
"monitored_by": "0",
"inventory_mode": "1",
"active_available": "1",
"assigned_proxyid": "0"
}
],
"id": 1
}
Получение групп узлов сети
Получите группы узлов сети, в которые входит узел сети "Zabbix server".
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectHostGroups": "extend",
"filter": {
"host": [
"Zabbix server"
]
}
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10085",
"hostgroups": [
{
"groupid": "2",
"name": "Linux servers",
"flags": "0",
"uuid": "dc579cd7a1a34222933f24f52a68bcd8"
},
{
"groupid": "4",
"name": "Zabbix servers",
"flags": "0",
"uuid": "6f6799aa69e844b4b3918f779f2abf08"
}
]
}
],
"id": 1
}
Получение связанных шаблонов
Получите идентификаторы и имена шаблонов, связанных с узлом сети "10084".
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectParentTemplates": [
"templateid",
"name"
],
"hostids": "10084"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"parentTemplates": [
{
"name": "Linux",
"templateid": "10001"
},
{
"name": "Zabbix Server",
"templateid": "10047"
}
]
}
],
"id": 1
}
Получение узлов сети по шаблону
Получите узлы сети, к которым привязан шаблон "10001" (Linux by Zabbix агент).
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid", "name"],
"templateids": "10001"
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"templateid": "10001",
"hosts": [
{
"hostid": "10084",
"name": "Zabbix server"
},
{
"hostid": "10603",
"name": "Host 1"
},
{
"hostid": "10604",
"name": "Host 2"
}
]
}
],
"id": 1
}
Поиск по данным инвентаризации узла сети
Получение узлов сети, содержащих "Linux" в поле инвентаризации узла сети "OS".
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"host"
],
"selectInventory": [
"os"
],
"searchInventory": {
"os": "Linux"
}
},
"id": 1
}
Ответ:
{
"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
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10085",
"tags": [
{
"tag": "host-name",
"value": "linux-server",
"automatic": "0"
},
{
"tag": "os",
"value": "rhel-7",
"automatic": "0"
}
]
}
],
"id": 1
}
Получить узлы сети, у которых эти теги есть не только на уровне узла сети, но и в их связанных родительских шаблонах.
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"tags": [
{
"tag": "os",
"value": "rhel-7",
"operator": 1
}
],
"inheritedTags": true
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10623",
"name": "PC room 1"
},
{
"hostid": "10601",
"name": "Office"
}
],
"id": 1
}
Получить узлы сети, исключая те, у которых есть тег "component".
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectTags": "extend",
"evaltype": 0,
"tags": [
{
"tag": "component",
"value": "",
"operator": 5
}
]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"tags": [
{
"tag": "class",
"value": "os",
"automatic": "0"
},
{
"tag": "target",
"value": "linux",
"automatic": "0"
}
]
},
{
"hostid": "10629",
"tags": [
{
"tag": "class",
"value": "application",
"automatic": "0"
},
{
"tag": "target",
"value": "browser",
"automatic": "0"
}
]
}
],
"id": 1
}
Поиск узла сети с тегами и тегами шаблона
Получение узла сети с тегами и всеми тегами, которые связаны с родительскими шаблонами.
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"hostids": 10502,
"selectTags": ["tag", "value"],
"selectInheritedTags": ["tag", "value"]
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10502",
"name": "Desktop",
"tags": [
{
"tag": "host-name",
"value": "linux-server"
},
{
"tag": "os",
"value": "rhel-7"
}
],
"inheritedTags": [
{
"tag": "class",
"value": "os"
},
{
"tag": "target",
"value": "linux"
},
{
"tag": "os",
"value": "rhel-7"
}
]
}
],
"id": 1
}
Поиск хостов по серьезности проблемы
Получить хосты, у которых есть проблемы «катастрофа» (Disaster).
Запрос:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"severities": 5
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10160",
"name": "Zabbix server"
}
],
"id": 1
}
Получить хосты с проблемами уровня "средние" (Average) и "высокие" (High).
Запрос:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["name"],
"severities": [3, 4]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "20170",
"name": "Database"
},
{
"hostid": "20183",
"name": "workstation"
}
],
"id": 1
}
Получение элементов данных узла сети
Получите элементы данных для узла сети "Zabbix server". Запрос ограничен свойствами элементов данных itemid, name и status. Из-за большого размера ответа в примере показана только часть элементов данных.
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid"],
"selectItems": ["itemid","name","status"],
"filter": {
"host": [
"Zabbix server"
]
}
},
"id": 1
}
Ответ:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"items": [
{
"itemid": "42227",
"name": "Имя узла сети запущенного Zabbix агент",
"status": "0"
},
{
"itemid": "42237",
"name": "Проверка доступности Zabbix агент",
"status": "0"
},
{
"itemid": "42250",
"name": "Версия запущенного Zabbix агент",
"status": "0"
},
{
"itemid": "42251",
"name": "Максимальное количество открытых файловых дескрипторов",
"status": "0"
},
{
"itemid": "42252",
"name": "Максимальное количество процессов",
"status": "0"
},
{
"itemid": "69869",
"name": "Интерфейс enp0s3: Отброшено входящих пакетов",
"status": "0"
},
{
"itemid": "69870",
"name": "Интерфейс enp0s3: Входящие пакеты с ошибками",
"status": "0"
},
{
"itemid": "69871",
"name": "Интерфейс enp0s3: Получено бит",
"status": "0"
},
{
"itemid": "69872",
"name": "Интерфейс enp0s3: Отброшено исходящих пакетов",
"status": "0"
},
{
"itemid": "69873",
"name": "Интерфейс enp0s3: Исходящие пакеты с ошибками",
"status": "0"
},
{
"itemid": "69874",
"name": "Интерфейс enp0s3: Отправлено бит",
"status": "0"
},
{
"itemid": "42253",
"name": "Количество процессов",
"status": "0"
},
{
"itemid": "42254",
"name": "Количество выполняющихся процессов",
"status": "0"
},
{
"itemid": "42255",
"name": "Время загрузки системы",
"status": "0"
}
]
}
],
"id": 1
}
См. также
Источник
CHost::get() в ui/include/classes/api/services/CHost.php.