Как я могу использовать API инструмента мониторинга Zabbix для получения всех предупреждений за последние 15 минут - PullRequest
0 голосов
/ 18 июня 2020

Я использую zabbix для мониторинга инфраструктуры. Я хочу экспортировать оповещения в реальном времени на централизованную платформу, такую ​​как splunk, ELK? Могу ли я получить все активные оповещения за последние 15 минут с помощью Zabbix API

ТАКЖЕ, достаточно ли зрелый api для реализации функции автоматического закрытия?

Заранее спасибо !!!!

1 Ответ

0 голосов
/ 18 июня 2020

Вы должны использовать problem.get api :

Этот метод предназначен для поиска нерешенных проблем. Также возможно, если указано, дополнительно получить недавно решенные проблемы.

Небольшой 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 )
...