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 | 按给定属性对结果排序。 可能的值: eventid、objectid、clock。与 groupBy 一起使用时可能的值:objectid。与 countOutput 和 groupBy 一起使用时可能的值:objectid、rowscount。 |
| 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 中。