获取

描述

integer/array problem.get(object parameters)

该方法允许根据给定的参数检索问题。

此方法用于检索未解决的问题。如果指定,还可以额外检索最近解决的问题。AdministrationGeneral 中定义了确定"最近"的时间段。 在该时间段之前解决的问题不会保存在问题表中。要检索过去已解决的问题,请使用 event.get 方法。

如果管家尚未消除这些问题,则此方法可能会返回已删除实体的问题。

此方法对于任何用户可用。可以在用户角色设置中撤销调用该方法的权限。更多信息请查看 用户角色

参数

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

该方法支持以下参数。

参数 类型 描述
eventids ID/数组 仅返回具有给定ID的问题。
groupids ID/数组 仅返回由属于给定主机组的对象创建的问题。
hostids ID/数组 仅返回由属于给定主机的对象创建的问题。
objectids ID/数组 仅返回由给定对象创建的问题。
source 整数 仅返回具有给定类型的事件。

请参阅问题事件对象页面以获取支持的事件类型列表。

默认值:0 - 由触发器创建的问题。
object 整数 仅返回由给定类型对象创建的问题。

请参阅问题事件对象页面以获取支持的对象类型列表。

默认值:0 - 触发器。
acknowledged 布尔值 true - 仅返回已确认的问题;
false - 仅返回未确认的问题。
action 整数 仅返回已执行给定事件更新操作的问题。对于多个操作,使用任何可接受的位图值之和作为位掩码(例如,34表示确认和抑制事件)。
action_userids ID/数组 仅返回具有执行问题事件更新操作的给定用户ID的问题。
suppressed 布尔值 true - 仅返回已抑制的问题;
false - 返回处于正常状态的问题。
symptom 布尔值 true - 仅返回症状问题事件;
false - 仅返回原因问题事件。
severities 整数/数组 仅返回具有给定事件严重性的问题。仅在对象为触发器时适用。
evaltype 整数 用于标签搜索的规则。

可能的值:
0 - (默认)And/Or;
2 - Or。
tags 数组 仅返回具有给定标签的问题。完全匹配标签,大小写不敏感地搜索值和运算符。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组返回所有问题。

可能的运算符类型:
0 - (默认)Like;
1 - Equal;
2 - Not like;
3 - Not equal
4 - Exists;
5 - Not exists。
recent 布尔值 true - 返回PROBLEM和最近RESOLVED的问题(取决于Display OK triggers for N seconds)
默认值:false - 仅返回UNRESOLVED问题。
eventid_from 字符串 仅返回ID大于或等于给定ID的问题。
eventid_till 字符串 仅返回ID小于或等于给定ID的问题。
time_from 时间戳 仅返回在给定时间之后或在该时间创建的问题。
time_till 时间戳 仅返回在给定时间之前或在该时间创建的问题。
selectAcknowledges 查询 返回一个acknowledges属性,其中包含问题更新。问题更新按逆时间顺序排序。

问题更新对象具有以下属性:
acknowledgeid - (ID) 更新的ID;
userid - (ID) 更新事件的用户ID;
eventid - (ID) 更新的事件ID;
clock - (时间戳) 事件更新的时间;
message - (字符串) 消息文本;
action - (整数)更新操作类型(参见event.acknowledge);
old_severity - (整数) 此更新操作前的事件严重性;
new_severity - (整数) 此更新操作后的事件严重性;
suppress_until - (时间戳) 事件将被抑制的时间;
taskid - (ID) 如果当前事件正在进行等级变更,则为任务ID。

支持count
selectTags 查询 返回一个tags属性,其中包含问题标签。输出格式:[{"tag": "<tag>", "value": "<value>"}, ...]
selectSuppressionData 查询 返回一个suppression_data属性,其中包含活动维护和手动抑制的列表:
maintenanceid - (ID) 维护ID;
userid - (ID) 抑制问题的用户ID;
suppress_until - (整数) 问题被抑制的时间。
filter 对象 仅返回与给定过滤器完全匹配的结果。

接受一个对象,其中键是属性名称,值是与之匹配的单个值或值数组。

不支持text数据类型的属性。
sortfield 字符串/数组 根据给定属性对结果进行排序。

可能的值:eventid
countOutput 布尔值 这些参数在参考说明中描述。
editable 布尔值
excludeSearch 布尔值
limit 整数
output 查询
preservekeys 布尔值
search 对象
searchByAny 布尔值
searchWildcardsEnabled 布尔值
sortorder 字符串/数组
startSearch 布尔值

返回值

(integer/array) 返回之一:

  • 对象数组;
  • 如果使用了 countOutput 参数,则为检索到的对象的数量。

示例

检索触发器问题事件

从触发器 "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 在 localhost 无法访问已达 5 分钟",
                   "acknowledged": "1",
                   "severity": "3",
                   "cause_eventid": "0",
                   "opdata": "",
                   "acknowledges": [
                       {
                           "acknowledgeid": "14443",
                           "userid": "1",
                           "eventid": "1245463",
                           "clock": "1472457281",
                           "message": "问题已解决",
                           "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
       }

参见

来源

ui/include/classes/api/services/CProblem.php 中的 CEvent::get()。