当使用 zabbix api 出现故障时获取在 zabbix 中生成的特定主机的活动警报

getting the active alarms for specific host generated in zabbix when there is fault using zabbix api

我正在尝试使用 python 创建脚本以在特定交换机端口上有活动警报时弹出 window。我正在使用 zabbix 作为 snmp 系统,我在 python 中使用 zabbix api。到目前为止,我能够通过以下方式获取特定主机的触发器来检索警报:

host = zapi.trigger.get({"host": "SW-1", "only_true": "extend"})

这将 return 以下内容:

[{u'status': u'0',
  u'description': u'{HOST.NAME}  GigabitEthernet0/36 down',
  u'state': u'0',
  u'url': u'',
  u'type': u'0',
  u'templateid': u'0',
  u'lastchange': u'1466402478',
  u'value': u'1',
  u'priority': u'4',
  u'triggerid': u'13914',
  u'flags': u'4',
  u'comments': u'',
  u'error': u'',
  u'expression': u'{13644}=2 and {13645}=2'},

问题是我无法查看警报状态是 OK 还是 Problem,正如它在网络上显示的那样zabbix 的页面让我跟踪它并启动我的弹出窗口。

PROBLEM/OK 由 value 属性 标识 - 在您的示例中它设置为 1,因此触发器处于问题状态。

trigger.get API 文档页面有 an example to retrieve only triggers in the problem state