如何使用 Zabbix API 检索问题和主机名?

How can I retrieve problem and host name using Zabbix API?

我想使用 ZabbixAPI 从 Zabbix API 检索数据。

所以我做了 API JSON 如下所示。

zabbixapi.problem.get(time_from=time_from,
                        time_till=time_till,
                        selectHosts = ["host","name"],
                        sortorder = "DESC",
                        output = "extend",
                        monitored = 1)

结果没有主机信息。 结果如下。

[{'eventid': '401154', 'source': '0', 'object': '0', 'objectid': '18265', 'clock': '1569375897', 'ns': '887610916', 'r_eventid': '0', 'r_clock': '0', 'r_ns': '0', 'correlationid': '0', 'userid': '0', 'name': 'Optical power is low on port 7', 'acknowledged': '0', 'severity': '3', 'suppressed': '0'}, {'eventid': '401456', 'source': '0', 'object': '0', 'objectid': '30714', 'clock': '1569401534', 'ns': '909385820', 'r_eventid': '0', 'r_clock': '0', 'r_ns': '0', 'correlationid': '0', 'userid': '0', 'name': 'Optical power is low on port 33', 'acknowledged': '0', 'severity': '3', 'suppressed': '0'}]

我觉得"selectHosts"不行。 我怎样才能得到主机信息的问题?

根据 documentationproblem.get 没有 selectHosts 参数。

返回对象的每一项都有一个eventid值,可以在event.get调用中使用,支持selectHosts.

或者您可以使用 selectHosts 进行单个 event.get 调用,外加针对 value = 1 的筛选器,对应于 "Problem" 状态(请参阅 documentation 对于事件对象)