problem.get

描述

integer/array problem.get(object parameters)

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

此方法用于检索未解决的问题。若指定参数,还可额外检索近期已解决的问题。判断"近期"的时间段定义于 管理触发器显示选项。 早于该时间段解决的问题不会保留在问题表中。如需检索更早的历史已解决问题,请使用event.get方法。

若管家程序尚未清理,该方法可能返回已删除实体的问题记录。

该方法对所有用户类型开放。调用权限可通过用户角色设置进行撤销,详见User roles说明。

参数

(object) 定义输出结果的参数

该方法支持以下参数

参数 数据类型 描述
eventids string/array 仅返回指定ID的问题
groupids string/array 仅返回由objects创建且属于指定主机组的问题
hostids string/array 仅返回由objects创建且属于指定主机的问题
objectids string/array 仅返回由指定objects创建的问题
source integer 仅返回指定类型的问题

支持的object类型列表请参考问题

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

支持的object类型列表请参考问题

默认值:0 - 触发器
acknowledged boolean true - 仅返回已确认的问题
false - 仅返回未确认的问题
suppressed boolean true - 仅返回被抑制的问题
false - 仅返回正常状态的问题
severities integer/array 仅返回指定严重程度的问题(仅当object为触发器时适用)
evaltype integer 标签搜索规则

可选值:
0 - (默认) 与/或
2 - 或
tags array of objects 仅返回具有指定标签的问题(标签精确匹配,值/运算符不区分大小写)
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空array返回所有问题

支持的运算符类型:
0 - (默认) 模糊匹配
1 - 精确匹配
2 - 不包含
3 - 不等于
4 - 存在
5 - 不存在
recent boolean true - 返回问题状态和最近已解决的问题(取决于"显示正常触发器N秒"设置)
默认:false - 仅返回未解决的问题
eventid_from string 仅返回ID大于等于指定值的问题
eventid_till string 仅返回ID小于等于指定值的问题
time_from timestamp 仅返回在指定时间之后创建的问题
time_till timestamp 仅返回在指定时间之前创建的问题
selectAcknowledges query 返回包含问题更新的acknowledges属性(按时间倒序排列)

问题更新object包含以下属性:
acknowledgeid - (string)更新ID
userid - (string)执行更新的用户ID
eventid - (string)被更新的objectID
clock - (timestamp)更新时间
message - (string)消息文本
action - (integer)更新操作类型(参见event.acknowledge
old_severity - (integer)更新前的严重程度
new_severity - (integer)更新后的严重程度

支持count
selectTags query 返回包含问题标签的问题标签属性,输出格式:[{"tag": "<tag>", "value": "<value>"}, ...]
selectSuppressionData query 返回包含维护列表的suppression_data属性:
maintenanceid - (string)维护ID
suppress_until - (integer)问题被抑制的剩余时间
sortfield string/array 按指定属性排序结果

可选值:eventid
countOutput boolean 这些参数在通用get方法参数中有详细说明
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 返回以下两种结果之一:

  • 一个包含objects的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"
           },
           "auth": "67f45d3eb1173338e1b1647c4bdc1916",
           "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",
                   "opdata": "",
                   "acknowledges": [
                       {
                           "acknowledgeid": "14443",
                           "userid": "1",
                           "eventid": "1245463",
                           "clock": "1472457281",
                           "message": "problem solved",
                           "action": "6",
                           "old_severity": "0",
                           "new_severity": "0"
                       }
                   ],
                   "suppression_data": [
                       {
                           "maintenanceid": "15",
                           "suppress_until": "1472511600"
                       }
                   ],
                   "suppressed": "1",
                   "tags": [
                       {
                           "tag": "test tag",
                           "value": "test value"
                       }
                   ]
               }
           ],
           "id": 1
       }

另请参阅

来源

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