host.get

Описание

integer/array host.get(параметры объекта)

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

Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(object) Параметры, определяющие желаемый результат.

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

Параметр Тип Описание
groupids string/array Возвращает только узлы, принадлежащие заданным группам.
dserviceids string/array Возвращает только хосты, связанные с данными обнаруженными службами.
graphids string/array Возвращает только те хосты, которые имеют заданные графы.
hostids string/array Возвращает только хосты с заданными идентификаторами хостов.
httptestids string/array Возвращает только те хосты, которые имеют заданные веб-проверки.
interfaceids string/array Возвращает только те хосты, которые используют заданные интерфейсы.
itemids string/array Вернуть только те хосты, у которых есть указанные элементы.
maintenanceids string/array Возвращает только те хосты, на которые распространяется данное обслуживание.
monitored_hosts flag Возвращать только отслеживаемые хосты.
proxy_hosts flag Возвращать только прокси.
proxyids string/array Возвращает только те хосты, которые отслеживаются указанными прокси.
template_hosts flag Возвращает как хосты, так и шаблоны.
templateids string/array Возвращает только хосты, связанные с заданными шаблонами.
triggerids string/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 Возвращает хосты, на которых были подавлены проблемы.

Возможные значения:
null – (по умолчанию) все хосты;
true – только хосты с подавленными проблемами;
false - только хосты с неподавленными проблемами.
evaltype integer Правила поиска тегов.

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

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не похоже;
3 - Не равно
4 - Существует;
5 - Не существует.
inheritedTags boolean Возвращает хосты, которым присвоены теги, также во всех связанных с ними шаблонах. По умолчанию:

Возможные значения:
true – связанные шаблоны также должны иметь заданные теги;
false – (по умолчанию) теги связанных шаблонов игнорируются.
selectDiscoveries query Возвращает свойство discoveries с правилами низкоуровневого обнаружения хоста.

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

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

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

Поддерживает count.
selectInterfaces query Возвращает свойство interfaces с хост-интерфейсами.

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

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

Поддерживает count.
selectDashboards query Возвращает свойство dashboards.

Поддерживает count.
selectTags query Возвращает свойство tags с тегами хоста.
selectInheritedTags query Возвращает свойство inheritedTags с тегами, которые есть во всех шаблонах, связанных с хостом.
selectTriggers query Возвращает свойство triggers с триггерами хоста.

Поддерживает count.
selectValueMaps query Возвращает свойство valuemaps с картами значений хоста.
filter object Возвращает только те результаты, которые точно соответствуют заданному фильтру.

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

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

Применяется к следующим вложенным выборкам:
selectParentTemplates — результаты будут отсортированы по узлу;
selectInterfaces;< br>selectItems – сортировка по имени;
selectDiscoveries – сортировка по имени;
selectTriggers – сортировка по описанию;
selectGraphs – сортировка по имени ;
selectDashboards – отсортировано по названию.
search object Возвращает результаты, соответствующие заданному поиску с подстановочными знаками.

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

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

На этот параметр влияют те же дополнительные параметры, что и на search.
sortfield string/array Сортировать результат по заданным свойствам.

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

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

(integer/array) Возвращает либо:

  • массив объектов;
  • количество извлеченных объектов, если параметр 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": [
        {
            "hostid": "10160",
            "proxy_hostid": "0",
            "host": "Zabbix server",
            "status": "0",
            "lastaccess": "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": "",
            "inventory_mode": "1"
        },
        {
            "hostid": "10167",
            "proxy_hostid": "0",
            "host": "Linux server",
            "status": "0",
            "lastaccess": "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": "",
            "inventory_mode": "1"
        }
    ],
    "id": 1
}

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

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

Запрос:

{
    "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
}

Получение связанных шаблонов

Получить идентификаторы и имена шаблонов, связанных с хостом «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": "Linux",
                    "templateid": "10001"
                },
                {
                    "name": "Zabbix Server",
                    "templateid": "10047"
                }
            ]
        }
    ],
    "id": 1
}

Retrieving hosts by template

Retrieve hosts that have the "10001" (Linux by Zabbix agent) template linked to them.

Request:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid", "name"],
        "templateids": "10001"
    },
    "auth": "70785d2b494a7302309b48afcdb3a401",
    "id": 1
}

Response:

{
    "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» в поле «ОС» инвентаризации хостов.

Запрос:

{
    "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
}

Поиск по тегам хоста

Получить хосты, у которых тег «Имя хоста» равен «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
}

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

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "tags": [{"tag": "A", "value": "1", "operator": "0"}],
        "inheritedTags": true
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10623",
            "name": "PC room 1"
        },
        {
            "hostid": "10601",
            "name": "Office"
        }
    ],
    "id": 1
}

Поиск хоста с тегами и тегами шаблона

Получить хост с тегами и всеми тегами, связанными с родительскими шаблонами.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "hostids": 10502,
        "selectTags": ["tag", "value"],
        "selectInheritedTags": ["tag", "value"]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10502",
            "name": "Desktop",
            "tags": [
                {
                    "tag": "A",
                    "value": "1"
                }
            ],
            "inheritedTags": [
                {
                    "tag": "B",
                    "value": "2"
                }
            ]
        }
    ],
    "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
}

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

Источник

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