integer/array problem.get(object parameters)
该方法允许根据给定的参数检索问题。
此方法用于检索未解决的问题。如果指定,还可以额外检索最近已解决的问题。定义“最近”时间范围的周期在管理 → 触发器显示选项中设置。 在此周期之前已解决的问题不会保留在问题表中。如需检索更早之前已解决的问题,请使用event.get
方法。
如果已删除实体的问题尚未被看门狗(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 - 仅返回已确认的问题;false - 仅返回未确认的问题。 |
action | integer | 仅返回执行了指定event update actions的问题。对于多个操作,使用任意可接受的位掩码值的和作为位掩码(例如,34用于acknowledge和抑制事件)。 |
action_userids | ID/array | 仅返回具有指定执行问题事件update操作的用户的ID的问题。 |
suppressed | boolean | true - 仅返回被抑制的问题;false - 返回正常状态的问题。 |
symptom | boolean | true - 仅返回症状问题事件;false - 仅返回原因问题事件。 |
severities | integer/array | 仅返回具有指定事件严重级别的问题。仅当object为触发器时有效。 |
evaltype | integer | 标签搜索规则。 可能的值: 0 - (默认)And/Or; 2 - Or。 |
tags | array | 仅返回具有指定标签的问题。按标签精确匹配,按值和操作符进行不区分大小写的搜索。 格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...] 。空的array将返回所有问题。 可能的操作符类型: 0 - (默认)Like; 1 - Equal; 2 - Not like; 3 - Not equal; 4 - Exists; 5 - Not exists。 |
recent | boolean | true - 返回PROBLEM和最近RESOLVED的问题(取决于Display OK triggers for N seconds)默认值: false - 仅返回UNRESOLVED问题 |
eventid_from | string | 仅返回ID大于或等于指定ID的问题。 |
eventid_till | string | 仅返回ID小于或等于指定ID的问题。 |
time_from | timestamp | 仅返回在指定时间之后或等于该时间创建的问题。 |
time_till | timestamp | 仅返回在指定时间之前或等于该时间创建的问题。 |
selectAcknowledges | query | 返回一个包含问题更新的acknowledges 属性。问题更新按逆时间顺序排序。问题update object具有以下属性: acknowledgeid - (ID) 更新的ID;userid - (ID) 执行事件更新的用户ID;eventid - (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,如果当前事件正在进行等级更改。支持 count 。 |
selectTags | query | 返回一个包含问题标签的tags 属性。输出格式:[{"tag": "<tag>", "value": "<value>"}, ...] 。 |
selectSuppressionData | query | 返回一个包含活动维护和手动抑制列表的suppression_data 属性:maintenanceid - (ID) 维护的ID;userid - (ID) 抑制问题的用户ID;suppress_until - (integer) 问题被抑制的时间。 |
filter | object | 仅返回与指定过滤器完全匹配的结果。 接受一个object,其中键是属性名称,值是单个值或一个array用于匹配的值。 不支持 text 数据类型的属性。 |
sortfield | string/array | 按指定属性对结果进行排序。 可能的值: eventid 。 |
countOutput | boolean | 这些参数在通用get方法参数中有描述。 |
editable | boolean | |
excludeSearch | boolean | |
limit | integer | |
output | query | |
preservekeys | boolean | |
search | object | |
searchByAny | boolean | |
searchWildcardsEnabled | boolean | |
sortorder | string/array | |
startSearch | boolean |
(integer/array)
返回以下之一:
countOutput
参数,则为检索到的 objects 的数量。从触发器 "15112" 获取最近的事件。
执行请求:
{
"jsonrpc": "2.0",
"method": "problem.get",
"params": {
"output": "extend",
"selectAcknowledges": "extend",
"selectTags": "extend",
"selectSuppressionData": "extend",
"objectids": "15112",
"recent": true,
"sortfield": ["eventid"],
"sortorder": "DESC"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"eventid": "1245463",
"source": "0",
"object": "0",
"objectid": "15112",
"clock": "1472457242",
"ns": "209442442",
"r_eventid": "1245468",
"r_clock": "1472457285",
"r_ns": "125644870",
"correlationid": "0",
"userid": "1",
"name": "Zabbix agent on localhost is unreachable for 5 minutes",
"acknowledged": "1",
"severity": "3",
"cause_eventid": "0",
"opdata": "",
"acknowledges": [
{
"acknowledgeid": "14443",
"userid": "1",
"eventid": "1245463",
"clock": "1472457281",
"message": "problem solved",
"action": "6",
"old_severity": "0",
"new_severity": "0",
"suppress_until": "1472511600",
"taskid": "0"
}
],
"suppression_data": [
{
"maintenanceid": "15",
"suppress_until": "1472511600",
"userid": "0"
}
],
"suppressed": "1",
"tags": [
{
"tag": "test-tag",
"value": "test-value"
}
]
}
],
"id": 1
}
通过用户 ID=10 检索已确认的问题
执行请求:
{
"jsonrpc": "2.0",
"method": "problem.get",
"params": {
"output": "extend",
"action": 2,
"action_userids": [10],
"selectAcknowledges": ["userid", "action"],
"sortfield": ["eventid"],
"sortorder": "DESC"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"eventid": "1248566",
"source": "0",
"object": "0",
"objectid": "15142",
"clock": "1472457242",
"ns": "209442442",
"r_eventid": "1245468",
"r_clock": "1472457285",
"r_ns": "125644870",
"correlationid": "0",
"userid": "10",
"name": "Zabbix agent on localhost is unreachable for 5 minutes",
"acknowledged": "1",
"severity": "3",
"cause_eventid": "0",
"opdata": "",
"acknowledges": [
{
"userid": "10",
"action": "2"
}
],
"suppressed": "0"
}
],
"id": 1
}
CEvent::get() 在 ui/include/classes/api/services/CProblem.php 中。