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.