problem.get

Описание

integer/array problem.get(object parameters)

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

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

Этот метод может возвращать проблемы удаленного объекта, если эти проблемы еще не были удалены housekeeper.

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

Параметры

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

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

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

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

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

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

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

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

Возможные значения operator:
0 - (по умолчанию) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
recent boolean Если установлено значение true, возвращать недавние проблемы, включая те, которые были решены в течение ok_period, а также любые нерешенные проблемы.
Если установлено значение false, возвращать только нерешенные проблемы.
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.
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

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

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

  • массив объектов;
  • количество полученных объектов, если использовался параметр 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 agent on localhost is unreachable for 5 minutes",
            "acknowledged": "1",
            "severity": "3",
            "cause_eventid": "0",
            "opdata": "",
            "acknowledges": [
                {
                    "acknowledgeid": "14443",
                    "userid": "1",
                    "eventid": "1245463",
                    "clock": "1472457281",
                    "message": "problem solved",
                    "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.