event.get

Описание

integer/array event.get(object parameters)

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

Этот метод может возвращать события удаленной сущности, если эти события еще не были удалены 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 Возвращать только события, для которых были выполнены указанные действия обновления события. Для нескольких действий используйте сумму любых допустимых значений битовой карты в качестве битовой маски (например, 34 для подтверждения и подавления события).
action_userids ID/array Возвращать только события с указанными ID пользователей, выполнивших действия обновления события.
suppressed boolean Если задано true, возвращать только подавленные события.
symptom boolean Если задано true, возвращать только события-симптомы.
severities integer/array Возвращать только события с указанными уровнями серьезности события. Применяется только если object - trigger.
trigger_severities integer/array Возвращать только события с указанными уровнями серьезности триггера. Применяется только если object - trigger.
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 - trigger. Этот параметр обязателен, если указан problem_time_till.
problem_time_till timestamp Возвращает только события, которые находились в состоянии проблемы до problem_time_till, независимо от их текущего состояния. Применяется только когда source - событие триггера, а object - trigger. Этот параметр обязателен, если указан 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.
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": "Load average is too high (per CPU load over 1.5 for 5m)",
            "severity": "0",
            "r_eventid": "0",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [],
            "opdata": "Load averages(1m 5m 15m): (1.6328 3.0522 2.2515), # of CPUs: 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": "Load average is too high (per CPU load over 1.5 for 5m)",
            "severity": "3",
            "r_eventid": "20",
            "c_eventid": "0",
            "correlationid": "0",
            "userid": "0",
            "cause_eventid": "0",
            "acknowledges": [
                {
                    "acknowledgeid": "1",
                    "userid": "1",
                    "clock": "1728657938",
                    "message": "Testing environment. Please disregard this alert.",
                    "action": "38",
                    "old_severity": "0",
                    "new_severity": "0",
                    "suppress_until": "1728744338",
                    "taskid": "0",
                    "username": "Admin",
                    "name": "Zabbix",
                    "surname": "Administrator"
                }
            ],
            "opdata": "Load averages(1m 5m 15m): (1.6328 3.0522 2.2515), # of CPUs: 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 триггеров с наибольшим количеством событий проблемы

Получите 5 триггеров с уровнями серьезности "Warning", "Average", "High" или "Disaster" вместе с количеством событий проблемы за указанный период времени.

Запрос:

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