2

我正在尝试使用 Zabbix API v4.0 在 Zabbix Web Portal 中创建自定义报告。为了计算服务器的 MTTR 和 MTBF 值,我们需要问题和维护数据。我们试图通过这个API解决问题。但结果总是空的(响应中没有数据)。

以下是我的请求有效负载:

{ "jsonrpc": "2.0", "method": "problem.get", "params": { "output": "extend", "selectAcknowledges": "extend", "selectTags": "extend", "selectSuppressionData": "extend", "objectids": "16580", "recent": "true", "sortfield": ["eventid"], "sortorder": "DESC" }, "auth": "67f45d3eb1173338e1b1647c4bdc1916", "id": 1 }

注意:
- 在有效负载 16580 中是我们通过 X 事件的事件 API 收到的触发器。

当我们尝试使用默认的 Zabbix 函数时,使用相同的 X 事件会遇到多个问题。
$eventids = array_column($events, 'eventid'); $CScreenProblem = new CScreenProblem(); $problems = $CScreenProblem->getExDataEvents($eventids);

相同的主机,相同的事件使用上述默认函数有多个问题数据,但不幸的是,使用 API 它返回空白。

如果有人可以帮助我找出 API 请求有效负载中有什么问题?那将是一个很大的帮助。

4

1 回答 1

0

问题 API文档:

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

因此,如果您的触发器 ID 16580 目前未激活,您将得到一个空响应。

有关已关闭问题的列表,请使用event.getAPI with source = 0( event created by a trigger )

于 2020-03-13T16:19:24.610 回答