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 仅返回具有给定类型的事件。

有关支持的事件类型列表,请参见event object page

默认值:0 - 触发器事件。
object integer 仅返回由给定类型对象创建的事件。

有关支持的对象类型列表,请参见event object page

默认值:0 - 触发器。
acknowledged boolean 如果设为 true,则仅返回已确认的事件。
action integer 仅返回已执行给定event update actions的事件。对于多个操作,请使用任意可接受的位图值之和作为位掩码(例如,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 标签evaluation method

可能的值:
0 - (默认) And/Or;
2 - Or。
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 按给定属性对结果排序。

可能的值:eventidobjectidclock

groupBy 一起使用时可能的值:objectid

countOutputgroupBy 一起使用时可能的值:objectidrowscount
groupBy string/array 按给定属性对结果分组。指定的属性将包含在结果中。

可能的值:objectid
countOutput boolean 这些参数在reference commentary中有说明。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
select_acknowledges
(deprecated)
query 此参数已弃用,请改用 selectAcknowledges
返回带有事件更新的 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
select_alerts
(deprecated)
query 此参数已弃用,请改用 selectAlerts
返回带有事件生成的告警的 alerts 属性。
告警按时间倒序排列。

返回值

(integer/array) 返回以下之一:

  • objects 的 array;
  • 如果使用了 countOutput 参数但未使用 groupBy 参数,则返回检索到的 objects 的数量;
  • 如果使用了 groupBy 参数,则返回带有聚合结果的 objects 的 array。

示例

检索触发器事件

从触发器 "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
}

按时间段检索事件

按逆时间顺序检索 2012 年 10 月 17 日至 18 日之间创建的所有事件。

请求:

{
    "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检索已确认的事件,用户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 中。