event.get

Описание

integer/array event.get(object parameters)

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

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

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

Параметры

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

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

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

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

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

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

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

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

Возможные значения operator:
0 - (по умолчанию) Содержит;
1 - Равно;
2 - Не содержит;
3 - Не равно;
4 - Существует;
5 - Не существует.
eventid_from string Возвращать только события с ID, большими или равными указанному ID.
eventid_till string Возвращать только события с ID, меньшими или равными указанному ID.
time_from timestamp Возвращать только события, созданные в указанное время или позже.
time_till timestamp Возвращать только события, созданные в указанное время или раньше.
problem_time_from timestamp Возвращает только события, находившиеся в состоянии проблемы начиная с problem_time_from независимо от их текущего состояния. Применяется только если source — событие триггера, а object — триггер. Этот параметр обязателен, если указан problem_time_till.
problem_time_till timestamp Возвращает только события, находившиеся в состоянии проблемы до problem_time_till независимо от их текущего состояния. Применяется только если source — событие триггера, а object — триггер. Этот параметр обязателен, если указан problem_time_from.
value integer/array Возвращать только события с указанными значениями.
selectAcknowledges query Возвращать свойство acknowledges с обновлениями события. Обновления события сортируются в обратном хронологическом порядке.

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

Поддерживает count.
selectAlerts query Возвращать свойство alerts с оповещениями, сгенерированными событием. Оповещения сортируются в обратном хронологическом порядке.
selectHosts query Возвращать свойство hosts с узлами сети, содержащими объект, создавший событие. Поддерживается только для событий, сгенерированных триггерами, элементами данных или правилами LLD.
selectRelatedObject query Возвращать свойство relatedObject с объектом, создавшим событие. Тип возвращаемого объекта зависит от типа события.
selectSuppressionData query Возвращать свойство suppression_data со списком активных обслуживаний и ручных подавлений:
maintenanceid - (ID) ID обслуживания;
userid - (ID) ID пользователя, подавившего событие;
suppress_until - (integer) время, до которого событие подавлено.
selectTags query Возвращать свойство tags с тегами события.
filter object Возвращать только те результаты, которые точно соответствуют указанному фильтру.

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

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

Возможные значения: eventid, objectid, clock.

Возможные значения при использовании вместе с groupBy: objectid.

Возможные значения при использовании вместе с countOutput и groupBy: objectid, rowscount.
groupBy string/array Группировать результаты по указанным свойствам. Указанные свойства будут возвращены в результатах.

Возможные значения: objectid.
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, но не был использован параметр groupBy
  • массив объектов с результатами агрегации, если был использован параметр groupBy

Примеры

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

Получите последние события триггера "22395".

Запрос:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "output": "extend",
        "selectAcknowledges": "extend",
        "selectSuppressionData": "extend",
        "selectTags": "extend",
        "objectids": "22395",
        "sortfield": ["clock", "eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "20",
            "source": "0",
            "object": "0",
            "objectid": "22395",
            "clock": "1728658089",
            "value": "0",
            "acknowledged": "0",
            "ns": "461809482",
            "name": "Средняя загрузка слишком высока (нагрузка на CPU выше 1.5 в течение 5 мин)",
            "severity": "0",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [],
            "opdata": "Средние значения нагрузки(1m 5m 15m): (1.6328 3.0522 2.2515), кол-во CPU: 2",
            "suppression_data": [],
            "suppressed": "0",
            "tags": [
                {
                    "tag": "scope",
                    "value": "capacity"
                },
                {
                    "tag": "scope",
                    "value": "performance"
                },
                {
                    "tag": "component",
                    "value": "cpu"
                },
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                }
            ],
            "urls": []
        },
        {
            "eventid": "4",
            "source": "0",
            "object": "0",
            "objectid": "22395",
            "clock": "1728657737",
            "value": "1",
            "acknowledged": "1",
            "ns": "460759366",
            "name": "Средняя загрузка слишком высока (нагрузка на CPU выше 1.5 в течение 5 мин)",
            "severity": "3",
            "r_eventid": "20",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "acknowledgeid": "1",
                    "userid": "1",
                    "clock": "1728657938",
                    "message": "Тестовая среда. Пожалуйста, не обращайте внимания на это оповещение.",
                    "action": "38",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1728744338",
                    "taskid": "0",
                    "username": "Admin",
                    "name": "Zabbix",
                    "surname": "Administrator"
                }
            ],
            "opdata": "Средние значения нагрузки(1m 5m 15m): (1.6328 3.0522 2.2515), кол-во CPU: 2",
            "suppression_data": [
                {
                    "maintenanceid": "0",
                    "suppress_until": "1728744338",
                    "userid": "1"
                }
            ],
            "suppressed": "1",
            "tags": [
                {
                    "tag": "scope",
                    "value": "capacity"
                },
                {
                    "tag": "scope",
                    "value": "performance"
                },
                {
                    "tag": "component",
                    "value": "cpu"
                },
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                }
            ],
            "urls": []
        }
    ],
    "id": 1
}

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

Получите все события, созданные в период между 17 и 18 октября 2012 года, в обратном хронологическом порядке.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "output": "extend",
        "time_from": "1350432000",
        "time_till": "1350518400",
        "sortfield": ["clock", "eventid"],
        "sortorder": "DESC"
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "20617",
            "source": "0",
            "object": "0",
            "objectid": "14282",
            "clock": "1350477816",
            "value": "1",
            "acknowledged": "0",
            "ns": "0",
            "name": "Less than 25% free in the history cache",
            "severity": "3",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        },
        {
            "eventid": "20616",
            "source": "0",
            "object": "0",
            "objectid": "14281",
            "clock": "1350477814",
            "value": "0",
            "acknowledged": "0",
            "ns": "0",
            "name": "Zabbix trapper processes more than 75% busy",
            "severity": "0",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        },
        {
            "eventid": "20615",
            "source": "0",
            "object": "0",
            "objectid": "14281",
            "clock": "1350477541",
            "value": "1",
            "acknowledged": "0",
            "ns": "0",
            "name": "Zabbix trapper processes more than 75% busy",
            "severity": "3",
            "r_eventid": "20616",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "opdata": "",
            "suppressed": "0",
            "urls": []
        }
    ],
    "id": 1
}

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

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

Запрос:

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

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "eventid": "503",
            "source": "0",
            "object": "0",
            "objectid": "23162",
            "clock": "1747212236",
            "value": "1",
            "acknowledged": "1",
            "ns": "413470863",
            "name": "Number of installed packages has been changed",
            "severity": "2",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "userid": "10",
                    "action": "2"
                }
            ],
            "opdata": "",
            "suppressed": "0",
            "urls": []
        }
    ],
    "id": 1
}

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

Получите 5 триггеров с уровнями важности "Предупреждение", "Средняя", "Высокая" или "Катастрофа" вместе с количеством событий проблем за указанный период времени.

Запрос:

{
    "jsonrpc": "2.0",
    "method": "event.get",
    "params": {
        "countOutput": true,
        "groupBy": "objectid",
        "source": 0,
        "object": 0,
        "value": 1,
        "time_from": 1672531200,
        "time_till": 1677628800,
        "trigger_severities": [2, 3, 4, 5],
        "sortfield": ["rowscount"],
        "sortorder": "DESC",
        "limit": 5
    },
    "id": 1
}

Ответ:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "objectid": "232124",
            "rowscount": "27"
        },
        {
            "objectid": "29055",
            "rowscount": "23"
        },
        {
            "objectid": "253731",
            "rowscount": "18"
        },
        {
            "objectid": "254062",
            "rowscount": "11"
        },
        {
            "objectid": "23216",
            "rowscount": "7"
        }
    ],
    "id": 1
}

См. также

Источник

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