event.get

描述

integer/array event.get(object parameters)

该方法允许根据给定的参数检索事件。

如果某些事件尚未被看门狗(housekeeper)移除, 此方法可能会返回已删除实体的事件。

此方法适用于任何类型的用户。调用该方法的权限可以在用户角色设置中撤销。更多信息请参见 User roles

参数

(object) 参数定义了所需的输出。

该方法支持以下参数。

参数 数据类型 描述
eventids ID/array 仅返回具有指定 ID 的事件。
groupids ID/array 仅返回由属于给定 主机 组的 objects 创建的事件。
hostids ID/array 仅返回由objects创建的,并属于给定主机的事件。
objectids ID/array 仅返回由给定的 objects 创建的事件。
source integer 仅返回具有指定类型的时间。

有关支持的事件类型的列表,请参考事件

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

有关支持的 object 类型列表,请参阅 事件

默认值:0 - 触发器。
acknowledged boolean 如果设置为 true,则仅返回已确认的事件。
action integer 仅返回执行过给定 event update actions 的事件。对于多个动作,使用任意可接受的位图值的和作为位掩码(例如,34 用于 acknowledge 并抑制事件)。
action_userids ID/array 仅返回具有指定用户 ID 的事件,这些用户执行了 update 操作。
suppressed boolean true - 仅返回被抑制的事件;
false - 返回正常状态的事件。
symptom boolean true - 仅返回症状事件;
false - 仅返回原因事件。
severities integer/array 仅返回具有指定事件严重性的事件。仅在 object 为触发器时适用。
trigger_severities integer/array 仅返回具有指定触发器严重级别的事件。仅当 object 为触发器时适用。
evaltype integer 标签搜索规则。

可能的值:
0 - (默认)And/Or;
2 - Or。
tags array 仅返回具有指定标签的事件。根据标签进行精确匹配,并根据值和运算符进行不区分大小写的搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空的 array 将返回所有事件。

可能的运算符类型:
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 起一直处于问题状态的事件,无论其当前状态如何。仅当源为触发器事件且 object 是触发器时适用。如果指定了 problem_time_till,则此参数为必填项。
problem_time_till timestamp 仅返回那些在 problem_time_till 之前处于问题状态的事件,无论其当前状态如何。仅当源为触发器事件且 object 为触发器时适用。如果指定了 problem_time_from,则此参数是必需的。
value integer/array 仅返回具有给定值的事件。
selectAcknowledges query 返回一个包含事件更新的 acknowledges 属性。事件更新按逆时间顺序排序。

事件 update object 具有以下属性:
acknowledgeid - (ID) 确认的 ID;
userid - (ID) 更新事件的用户的 ID;
clock - (timestamp) 事件更新的时间;
message - (string) 消息文本;
action - (integer) 执行的 update 操作,参见 event.acknowledge
old_severity - (integer) 此次 update 操作前的事件严重性;
new_severity - (integer) 此次 update 操作后的事件严重性;
suppress_until - (timestamp) 事件被抑制的时间;
taskid - (ID) 如果当前事件正在进行等级更改,则为任务的 ID;
username - (string) 更新事件的用户的用户名;
name - (string) 更新事件的用户的名称;
surname - (string) 更新事件的用户的姓氏。

支持 count
selectAlerts query 返回一个包含事件生成的告警的 alerts 属性。告警按逆时间顺序排序。
selectHosts query 返回一个包含 主机 的 hosts 属性,其中包含创建事件的 object。仅支持由触发器、监控项 或 LLD 规则生成的事件。
selectRelatedObject query 返回一个 relatedObject 属性,其中包含创建事件的 object。返回的 object 类型取决于事件类型。
selectSuppressionData query 返回一个包含活动维护和手动抑制列表的 suppression_data 属性:
maintenanceid - (ID) 维护的 ID;
userid - (ID) 抑制事件的用户 ID;
suppress_until - (integer) 事件被抑制的时间。
selectTags query 返回带有事件标签的 tags 属性。
filter object 仅返回与给定过滤器完全匹配的结果。

接受一个object,其中键为属性名称,值为单个值或一个array值列表进行匹配。

不支持text 数据类型的属性。
sortfield string/array 按照给定属性对结果进行排序。

可能的值:eventidobjectidclock

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

countOutputgroupBy 一起使用时的可能值:objectidrowscount
groupBy string/array 按照给定的属性对结果进行分组。结果中将返回指定的属性。

可能的值:objectid
countOutput boolean 这些参数在通用get方法参数中有描述。
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 属性。
事件更新按逆时间顺序排序。

事件 update object 具有以下属性:
acknowledgeid - (ID) 确认的ID;
userid - (ID) 更新事件用户的ID;
clock - (timestamp) 事件更新时间;
message - (string) 消息文本;
action - (integer) update 执行的操作,参见 event.acknowledge
old_severity - (integer) 此 update 操作前的事件严重性;
new_severity - (integer) 此 update 操作后的事件严重性;
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
       }

获取具有问题事件计数的Top触发器

检索具有严重级别为“Warning”、“Average”、“High”或“Disaster”的Top 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 中。