0

我正在使用 zabbix 进行基础设施监控。我想将警报实时导出到像 splunk、ELK 这样的集中式平台?我可以使用 Zabbix API 提取过去 15 分钟内的所有活动警报吗

另外,api 是否成熟到可以实现自动关闭功能?

提前致谢 !!!!

4

1 回答 1

0

您应该使用problem.getapi

此方法用于检索未解决的问题。如果指定,还可以额外检索最近解决的问题。

一个小python示例:

from zabbix.api import ZabbixAPI

zabbixServer    = 'http://yourserver/zabbix/'
zabbixUser      = 'someuser'
zabbixPass      = 'somepass'

zapi = ZabbixAPI(url=zabbixServer, user=zabbixUser, password=zabbixPass)

problems = zapi.problem.get()

for problem in problems:
    trigger = zapi.trigger.get (triggerids=problem['objectid'], selectHosts='extend')
    interface = zapi.hostinterface.get(hostids=trigger[0]['hosts'][0]['hostid'])
    group = zapi.hostgroup.get(hostids=trigger[0]['hosts'][0]['hostid'])

    enabled = "Enabled"
    if (trigger[0]['hosts'][0]['status'] == "1"):
        enabled = "Disabled"

    print "Group:{}; Host:{}; IP:{}; Problem:{}; {}".format(group[1]['name'],
                                                           trigger[0]['hosts'][0]['host'],
                                                           interface[0]['ip'],
                                                           trigger[0]['description'],
                                                           enabled )
于 2020-06-18T07:57:15.710 回答