problem.get

描述

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) 返回以下之一:

  • array 的 objects;
  • 如果使用了 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 中。