烹茶细论

zabbix告警收敛

监控系统用的是zabbix,机器一多,告警邮件就多,每次看邮件都很烦躁,于是有了想要收敛下告警邮件的想法。

根据峰云大神的博客收敛的思路,自己动手实现了这个收敛平台。

1、重复性的邮件统一发

2、根据报警内容再做相关报警检查,减少误报可能

3、web展示,未处理未恢复每天定时通知

流程和框架:

接口:nginx + django

队列:redis

定时任务:redis

数据库:mysql

实现方式:

1、按照就的发邮件的脚本的方式,之前是触发sendmail,现在是出发curl 访问接口

/usr/bin/curl –connect-timeout 10 -d “subject=$2&content=$3&mailto=$1&cate=zabbix” XXXXX/api/push

2、将上面的信息 rpush到redis队列

3、后端起一个进程处理这些redis队列,实现收敛逻辑,二次检测、入库

4、如果是压缩邮件内容,放进redis,通过redis键空间通知实现定时任务功能,记录告警次数

邮件内容 :

样式抄onealert的,

alert2

alert3

平台的展示内容还在完善中

收敛策略也在完善

峰云大神的博客真的学到好多东西,感谢大神!