博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix二次开发-flask-获取告警
阅读量:6872 次
发布时间:2019-06-26

本文共 2255 字,大约阅读时间需要 7 分钟。

hot3.png

上次通过zabbix api获取到监控的主机组,这次通过zabbix api获取一下告警的信息,把zabbix告警信息集成到自己的系统中,如下:

222802_zkZ2_1588616.png

222903_AfJ6_1588616.png

上面的图是zabbix网页自带的告警展示,下面图是自己通过调取zabbix api获取到告警信息并展示到自己的网页上。后端使用的是flask,前端页面使用的是jinjia2模板。

 

实现过程如下,先看后端调用zabbix api并把结果进行封装传递给trigger.html,并进行渲染,后端代码如下:

# 获取zabbix trigge@app.route('/zabbix/trigger', methods=['GET', 'POST'])def zabbix_trigger():    json_result = modules_zabbix.zabbix_auth()    if json_result:        response = json.loads(json_result)        data = {            "jsonrpc": "2.0",            "method": "trigger.get",            "params": {                "output": "extend",                "selectHosts": "extend",                "sortfield": "priority",                "sortorder": "DESC",                "only_true": "1",                "monitored" : "1",                "active":"1",                "filter": {                    "value": 1                },            },            "id": response['id'],            "auth": response['result']        }        response = modules_zabbix.zabbix_request(data)        if response:            app.logger.debug(response)            response = json.loads(response)            return render_template('zabbix/trigger.html', response=response)

zabbix_auth和zabbix_request方法请参考我前面一篇文章,要使用zabbix api需要先进行认证,获取token才能继续获取其它的值,文章链接: 。使用zabbix api的trigger.get方法获取触发器的信息,selectHosts表示把主机的信息也获取出来,因为前端要进行展示。另外,only_true、monitored、active、filter参数主要是把有效的告警信息获取出来,具体可参考zabbix官网:。

 

通过zabbix api获取完数据,就可以在前端进行展示,看下前端的代码:

{% for result in response['result'] %}
{% for host in result['hosts'] %}
{% endfor %}
{% endfor %}
主机 告警描述
{ { host['host'] }} { { result['description'] }}

 

获取告警信息后,感觉zabbix api获取一些数据还是比较方便的,获取出告警出来代码量不多。可以再使用withUnacknowledgedEvents这个来把我们没确认过的告警筛选出来。

 

最后附上本人的网络课堂地址,如有兴趣请点击: 

转载于:https://my.oschina.net/zhuangweihong/blog/794543

你可能感兴趣的文章
iOS开发-iOS8地理位置定位
查看>>
struts2基于注解配置action
查看>>
原生爬虫(爬取熊猫直播人气主播排名)
查看>>
Resharp警告(去掉VS自动生成事件函数的警告)
查看>>
函数式编程初识篇
查看>>
如何解决vim乱码【转载】
查看>>
bzoj 4241 历史研究——分块(区间加权众数)
查看>>
上海第二天(面临着坐地铁)
查看>>
莫烦大大TensorFlow学习笔记(8)----优化器
查看>>
贝叶斯算法
查看>>
C++ 自定义控件的移植(将在其它程序中设计的自定义控件,移植到现在的系统中)...
查看>>
如何通过svg画一个大圆弧
查看>>
Simple Ant build.xml file
查看>>
架构师基本功:SOA
查看>>
hdu 杭电 1253 胜利大逃亡
查看>>
iphone4s连接电脑无法识别iphone设备:Apple Mobile Device USB Driver驱动安装失败显示黄色叹号解决办法...
查看>>
去除谷歌浏览器中的默认文本框样式
查看>>
Redis源码研究--启动过程
查看>>
dynamics ax2009 ep on sharepoint 2010
查看>>
Python3 shevel模块,更高级的json序列化数据类型模块(比pickle更高级)
查看>>