service.get

Описание

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

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

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

Параметры

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

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

Parameter Type Description
serviceids ID/array Возвращать только услуги с указанными ID.
parentids ID/array Возвращать только услуги, связанные с указанными родительскими услугами.
deep_parentids flag Возвращать все прямые и косвенные дочерние услуги. Используется вместе с parentids.
childids ID/array Возвращать только услуги, связанные с указанными дочерними услугами.
evaltype integer Метод оценки тегов.

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

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
problem_tags object/array Возвращать только услуги с указанными тегами проблемы.
Формат: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Пустой массив возвращает все услуги.

Возможные значения оператора:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
without_problem_tags flag Возвращать только услуги без тегов проблемы.
slaids ID/array Возвращать только услуги, связанные с указанными SLA.
selectChildren query Возвращать свойство children с дочерними услугами.

Поддерживает count.
selectParents query Возвращать свойство parents с родительскими услугами.

Поддерживает count.
selectTags query Возвращать свойство tags с тегами услуги.

Поддерживает count.
selectProblemEvents query Возвращать свойство problem_events с массивом объектов событий проблемы.

Объект события проблемы имеет следующие свойства:
eventid - (ID) ID события;
severity - (string) Текущая серьезность события;
name - (string) Имя разрешенного события.

Поддерживает count.
selectProblemTags query Возвращать свойство problem_tags с тегами проблемы.

Поддерживает count.
selectStatusRules query Возвращать свойство status_rules с правилами статуса.

Поддерживает count.
selectStatusTimeline object/array Возвращать свойство status_timeline, содержащее изменения состояния услуги за указанные периоды.

Формат [{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - period_from является начальной датой (включительно; целочисленная временная метка), а period_to - конечной датой (исключительно; целочисленная временная метка) для интересующего вас периода.

Возвращает массив записей, содержащих свойство start_value и массив alarms для изменений состояния в указанных периодах.
sortfield string/array Сортировать результат по указанным свойствам.

Возможные значения: serviceid, name, status, sortorder, created_at.
countOutput boolean Эти параметры описаны в справочном комментарии.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

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

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

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

Примеры

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

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

Запрос:

{
    "jsonrpc": "2.0",
    "method": "service.get",
    "params": {
        "output": "extend",
        "selectChildren": "extend",
        "selectParents": ["serviceid", "name"]
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "serviceid": "1",
            "name": "Zabbix cluster",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "8d77bd91b62347e4b79382912eb5df95",
            "created_at": "1761742392",
            "readonly": false,
            "parents": [],
            "children": [
                {
                    "serviceid": "2",
                    "name": "Zabbix server node 1",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "195911d26d7f4e218d6217079bcd5929",
                    "created_at": "1761742623",
                    "readonly": false
                },
                {
                    "serviceid": "3",
                    "name": "Zabbix server node 2",
                    "status": "-1",
                    "algorithm": "2",
                    "sortorder": "0",
                    "weight": "0",
                    "propagation_rule": "0",
                    "propagation_value": "0",
                    "description": "",
                    "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
                    "created_at": "1761742654",
                    "readonly": false
                }
            ]
        },
        {
            "serviceid": "2",
            "name": "Zabbix server node 1",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "195911d26d7f4e218d6217079bcd5929",
            "created_at": "1761742623",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        },
        {
            "serviceid": "3",
            "name": "Zabbix server node 2",
            "status": "-1",
            "algorithm": "2",
            "sortorder": "0",
            "weight": "0",
            "propagation_rule": "0",
            "propagation_value": "0",
            "description": "",
            "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
            "created_at": "1761742654",
            "readonly": false,
            "parents": [
                {
                    "serviceid": "1",
                    "name": "Zabbix cluster"
                }
            ],
            "children": []
        }
    ],
    "id": 1
}

Источник

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