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) 更新IDuserid - (string) 执行更新的用户IDeventid - (string) 被更新的objectIDclock - (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) 维护IDsuppress_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)
返回以下两种结果之一:
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() 方法。