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)
返回以下两种结果之一:
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 文件中。