problem.get

Описание

integer/array problem.get(object parameters)

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

Этот метод предназначен для получения неустранённых проблем. Также, если указано, можно дополнительно получать недавно устранённые проблемы. Период, который определяет, насколько давно считается "недавно", задаётся в AdministrationGeneral. Проблемы, которые были устранены до этого периода, не хранятся в таблице проблем. Чтобы получить проблемы, которые были устранены раньше, используйте метод event.get.

Этот метод может возвращать проблемы удалённой сущности, если эти проблемы ещё не были удалены сборщиком устаревших данных.

Этот метод доступен пользователям любого типа. Права на вызов метода могут быть отозваны в настройках роли пользователя. Подробнее см. в разделе User roles.

Параметры

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

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

Параметр Тип Описание
eventids ID/array Возвращать только проблемы с указанными ID.
groupids ID/array Возвращать только проблемы, созданные объектами, принадлежащими указанным группам узлов сети.
hostids ID/array Возвращать только проблемы, созданные объектами, принадлежащими указанным узлам сети.
objectids ID/array Возвращать только проблемы, созданные указанными объектами.
source integer Возвращать только проблемы указанного типа.

Список поддерживаемых типов событий смотрите на странице объекта события проблемы.

По умолчанию: 0 — проблема, созданная триггером.
object integer Возвращать только проблемы, созданные объектами указанного типа.

Список поддерживаемых типов объектов смотрите на странице объекта события проблемы.

По умолчанию: 0 — триггер.
acknowledged boolean Если установлено в true, возвращать только подтвержденные проблемы.
action integer Возвращать только проблемы, для которых были выполнены указанные действия обновления события. Для нескольких действий используйте сумму любых допустимых значений битовой карты в качестве битовой маски (например, 34 для подтверждения и подавления события).
action_userids ID/array Возвращать только проблемы с указанными ID пользователей, выполнивших действия обновления события проблемы.
suppressed boolean Если установлено в true, возвращать только подавленные проблемы.
symptom boolean Если установлено в true, возвращать только события проблем-симптомов.
severities integer/array Возвращать только проблемы с указанными важностями событий. Применяется только если object — триггер.
evaltype integer Метод вычисления тегов.

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

Возможные значения operator:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
recent boolean Если установлено в true, возвращать только недавно устраненные проблемы (зависит от ok_period).
eventid_from string Возвращать только проблемы с ID больше или равными указанному ID.
eventid_till string Возвращать только проблемы с ID меньше или равными указанному ID.
time_from timestamp Возвращать только проблемы, созданные после указанного времени или в указанный момент времени.
time_till timestamp Возвращать только проблемы, созданные до указанного времени или в указанный момент времени.
selectAcknowledges query Возвращать свойство acknowledges с обновлениями проблемы. Обновления проблемы сортируются в обратном хронологическом порядке.

Объект обновления проблемы имеет следующие свойства:
acknowledgeid - (ID) ID обновления;
userid - (ID) ID пользователя, обновившего событие;
eventid - (ID) ID обновленного события;
clock - (timestamp) время обновления события;
message - (string) текст сообщения;
action - (integer) тип действия обновления (см. event.acknowledge);
old_severity - (integer) важность события до этого действия обновления;
new_severity - (integer) важность события после этого действия обновления;
suppress_until - (timestamp) время, до которого событие будет подавлено;
taskid - (ID) ID задачи, если для текущего события выполняется изменение ранга.

Поддерживает count.
selectTags query Возвращать свойство tags с тегами проблемы. Формат вывода: [{"tag": "<tag>", "value": "<value>"}, ...].
selectSuppressionData query Возвращать свойство suppression_data со списком активных обслуживаний и ручных подавлений:
maintenanceid - (ID) ID обслуживания;
userid - (ID) ID пользователя, подавившего проблему;
suppress_until - (integer) время, до которого проблема подавлена.
filter object Возвращать только те результаты, которые точно соответствуют указанному фильтру.

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

Не поддерживает свойства типа данных text data type.
sortfield string/array Сортировать результат по указанным свойствам.

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

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

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

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

Примеры

Получение событий проблем триггера

Получение недавних событий триггера "15112."

Запрос:

{
    "jsonrpc": "2.0",
    "method": "problem.get",
    "params": {
        "output": "extend",
        "selectAcknowledges": "extend",
        "selectTags": "extend",
        "selectSuppressionData": "extend",
        "objectids": "15112",
        "recent": true,
        "sortfield": ["eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "1245463",
            "source": "0",
            "object": "0",
            "objectid": "15112",
            "clock": "1472457242",
            "ns": "209442442",
            "r_eventid": "1245468",
            "r_clock": "1472457285",
            "r_ns": "125644870",
            "correlationid": "0",
            "userid": "1",
            "name": "Агент Zabbix на localhost недоступен в течение 5 минут",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "opdata": "",
            "acknowledges": [
                {
                    "acknowledgeid": "14443",
                    "userid": "1",
                    "eventid": "1245463",
                    "clock": "1472457281",
                    "message": "проблема решена",
                    "action": "6",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1472511600",
                    "taskid": "0"
                }
            ],
            "suppression_data": [
                {
                    "maintenanceid": "15",
                    "suppress_until": "1472511600",
                    "userid": "0"
                }
            ],
            "suppressed": "1",
            "tags": [
                {
                    "tag": "test-tag",
                    "value": "test-value"
                }
            ]
        }
    ],
    "id": 1
}

Получение проблем, подтвержденных указанным пользователем

Получение проблем, подтвержденных пользователем с ID=10

Запрос:

{
    "jsonrpc": "2.0",
    "method": "problem.get",
    "params": {
        "output": "extend",
        "action": 2,
        "action_userids": [10],
        "selectAcknowledges": ["userid", "action"],
        "sortfield": ["eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "1248566",
            "source": "0",
            "object": "0",
            "objectid": "15142",
            "clock": "1472457242",
            "ns": "209442442",
            "r_eventid": "1245468",
            "r_clock": "1472457285",
            "r_ns": "125644870",
            "correlationid": "0",
            "userid": "10",
            "name": "Агент Zabbix на localhost недоступен в течение 5 минут",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "opdata": "",
            "acknowledges": [
                {
                    "userid": "10",
                    "action": "2"
                }
            ],
            "suppressed": "0"
        }
    ],
    "id": 1
}

См. также

Источник

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