zabbix企业应用之自动语音报警平台

  1. 云栖社区>
  2. 博客>
  3. 正文

zabbix企业应用之自动语音报警平台

技术小胖子 2017-11-10 16:08:00 浏览2394
展开阅读全文

我从2013年5月开始研究zabbix,研究的版本是2.0.6,到现在也马上2年了,目前生产版本还是2.0.6.

现在我公司1000+的服务器无论是物理机还是vmware、openstack的云主机、docker容器等等都使用zabbix进行监控。

当前监控方式为:zabbix=>proxy=>client

当前报警方式为:6个等级报警(未分类、消息、警告、一般严重、严重、灾难)全部通过短信或者邮件来通知,严重及其以上使用自动语音报警方式通知。

一、语音报警介绍

1、为什么使用语音报警

之前我这里招聘了3个监控运维,然后他们使用轮班制度来进行报警通知,但人总是会有疲倦,并且夜间的时候,易睡无法及时的进行报警发现与通知,为了解决这个情况,我开发了一个语音报警平台,针对zabbix的报警通知做一个补充,可以配合zabbix默认的升级机制,实现报警垂直升级+自动语音报警,还可以web化的查看报警内容与处理报警信息。

2、传统报警与语音报警区别

传统报警多为:邮件模式或者短信模式

对于休息时间,无法上网或睡觉,会导致无法及时执行报警,耽误报警发现与处理时间,造成更多的损失。如果有大量报警,会导致查看遗漏重要信息

如果使用语音模式报警,在休息期间,不需要在电脑旁或者打开邮件,就可以通过电话知晓报警信息;即使夜间睡觉,也能通过电话来及时知晓并处理。

二、语音报警效果图

我一般看新内容都喜欢先看看效果图,如果满足我需求才深入研究,所以我也先给大家展示一下效果图,大家觉得满足在向下看,不满足可以退出。

1、报警界面

wKiom1U-55zzqS8BAAOycXAPKgw168.jpg

在右侧的“处理”列里,可以看到报警是已经恢复,所以“处理”列信息都是不可以使用,并且为已处理,如果是报警未恢复,则可以通过点击处理,手动关闭语音报警升级下去。

2、语音报警结果界面(也就是上面图片里“详情”)

wKiom1U-59_jM8thAAIk1SyLpKE018.jpg上图为发送语音报警的报警信息与接收人的信息,下面是报警垂直事件升级的效果图

3、垂直报警事件升级

wKioL1U-6ZWT8jE6AAOaIIMh1dU407.jpg可以看看这个报警升级了4次,每次升级的间隔为10分钟,分别联系了3个人,其中第二次联系的时候,是对方不接(从备注no one answer the phone可以看出)

三、如何使用语音报警

1、结合zabbix分布式监控系统

语音报警只是通知的方式,检测报警并发现还需要使用监控系统,推荐使用zabbix分别是监控,支持多平台(如果redhat系列、Ubuntu系列、windows系列);

在zabbix监控发现报警,通过使用语音报警接口来把报警内容电话通知给对应负责人。

2、事件升级机制(Escalations)

举例:如果监控主机出现报警,需要第一时间通知,但如果通知后,报警在一定时间仍然存在,或者电话通知后,由于对方夜间休息,没有接收,这样就会延误处理时间,影响业务;

方法:zabbix事件升级机制(Escalations)

优点:

Zabbix监控自带,兼容性好l发送形式能自定义(目前包括:短信通知、邮件通知、语音电话通知);

根据不同报警等级来进行对于通知l自定义报警升级顺序、时间等;

一直通知问题直到问题解决。

3、语音接口选择

目前国内也有语音接口,但我测试感觉一般,并且花费贵,所以我选择了国际厂商nexmo接口(不是打广告,对方也不给我钱,这个接口很稳定、速度很快、并且价格便宜)

Nexmo是国际知名短信云服务公司l在23个国家70多个运行商均能提供短信与语音功能;

Nexmo的企业客户包括Airbnb、Viber和ICQ等;

按需收费;

通知时间快,通常在5秒内;

强大的售后与技术支持l基础的报表功能。

四、语音报警平台案例

1、架构信息

监控服务:使用zabbix分布式监控;

事件升级:使用zabbix的Escalations垂直模式,从负责人、直属领导、总监等一级一级的升级;

语音通知接口:nexmo的tts;

平台软件架构:python+tornado+bootstrap

2、架构图

wKiom1U-6lOzZ67UAAKnC1fOIxA013.jpg

3、实现功能

严重等级报警使用语音接口进行报警通知(严重等级报警包括:重启、超时、进程不存在等);

报警垂直升级;

报警合并(同一联系人的报警,会合并为一条在发送);

平台化查看报警主机信息、语音报警通知信息等。

4、zabbix处理报警方式

wKiom1U-6pmyaQlfAAbCqpbxCv0080.jpg

5、报警垂直事件升级流程图

wKioL1U-7CrSxhq9AAN1lKUsC5U497.jpg

6、难点

后端:

报警检测间隔(默认10分钟)

垂直事件升级顺序(前2次为第一联系人,第二联系人、运维主管、运维总监)

报警合并(当前为60秒内同一联系人报警合并为1条)

报警通知时间(白天为报警出现后5分钟,晚上为10分钟,重启报警为1分钟)

报警自助处理(如果报警短时间不能解决,则可以通过平台里的处理按钮不进行事件升级)

语音平台用户组权限(从zabbix数据库里获取用户组权限)

前端:

Tornado的架构学习

Bootstrap与jquery的学习

Highchart的学习

目前我公司从去年12月上线测试此平台,上传测试2个月满足需求,所以从2015年2月份正式上线此平台,截止到现在已经运行6个月运行正常,并且报警及时、准确。

现在我这里已经取消了监控运维,通过使用此平台,每个月能节省1w+以上的人员成本,此平台的成本仅为15-17欧元(12欧元固定来电号码租用费用,5元左右的报警电话费用),换为人民币为105-114元左右。

此平台由于还在优化与新功能开发中,所以暂不开源,大家开源参考这个架构来自行定义自己的语言报警平台,有问题可以留言一起交流。








 本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1639579,如需转载请自行联系原作者

网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注