problem.get

描述

integer/array problem.get(object parameters)

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

此方法用于检索未解决的问题。如果指定,还可以额外检索最近解决的问题。确定"最近"时间范围的周期定义在 管理触发器显示选项中。 在该周期之前解决的问题不会保留在问题表中。要检索更早之前解决的问题,请使用event.get方法。

如果管家进程尚未清理,该方法可能返回已删除实体的问题。

该方法对所有类型用户可用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅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 - (默认) 与/或;
2 - 或.
tags array 仅返回具有指定标签的问题. 标签精确匹配, 值和操作符不区分大小写.
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
空array返回所有问题.

可能的操作符类型:
0 - (默认) 类似;
1 - 等于;
2 - 不类似;
3 - 不等于;
4 - 存在;
5 - 不存在.
recent boolean true - 返回PROBLEM和最近RESOLVED的问题(取决于"显示OK触发器N秒"设置)
默认: false - 仅返回UNRESOLVED问题
eventid_from string 仅返回ID大于或等于指定ID的问题.
eventid_till string 仅返回ID小于或等于指定ID的问题.
time_from timestamp 仅返回在指定时间之后或当时创建的问题.
time_till timestamp 仅返回在指定时间之前或当时创建的问题.
selectAcknowledges query 返回包含问题更新的acknowledges属性. 问题更新按时间倒序排序.

问题updateobject具有以下属性:
acknowledgeid - (ID)update的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数组
  • 检索到的objects数量(当使用了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 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 文件中。