我从2013年5月开始研究zabbix,研究的版本是2.0.6,到如今也立刻2年了,目前生产版本仍是2.0.6.前端
如今我公司1000+的服务器不管是物理机仍是vmware、openstack的云主机、docker容器等等都使用zabbix进行监控。python
当前监控方式为:zabbix=>proxy=>clientjquery
当前报警方式为:6个等级报警(未分类、消息、警告、通常严重、严重、灾难)所有经过短信或者邮件来通知,严重及其以上使用自动语音报警方式通知。web
1、语音报警介绍docker
一、为何使用语音报警数据库
以前我这里招聘了3个监控运维,而后他们使用轮班制度来进行报警通知,但人老是会有疲倦,而且夜间的时候,易睡没法及时的进行报警发现与通知,为了解决这个状况,我开发了一个语音报警平台,针对zabbix的报警通知作一个补充,能够配合zabbix默认的升级机制,实现报警垂直升级+自动语音报警,还能够web化的查看报警内容与处理报警信息。bootstrap
二、传统报警与语音报警区别windows
传统报警多为:邮件模式或者短信模式后端
对于休息时间,没法上网或睡觉,会致使没法及时执行报警,耽误报警发现与处理时间,形成更多的损失。若是有大量报警,会致使查看遗漏重要信息服务器
若是使用语音模式报警,在休息期间,不须要在电脑旁或者打开邮件,就能够经过电话知晓报警信息;即便夜间睡觉,也能经过电话来及时知晓并处理。
2、语音报警效果图
我通常看新内容都喜欢先看看效果图,若是知足我需求才深刻研究,因此我也先给你们展现一下效果图,你们以为知足在向下看,不知足能够退出。
一、报警界面
在右侧的“处理”列里,能够看到报警是已经恢复,因此“处理”列信息都是不可使用,而且为已处理,若是是报警未恢复,则能够经过点击处理,手动关闭语音报警升级下去。
二、语音报警结果界面(也就是上面图片里“详情”)
上图为发送语音报警的报警信息与接收人的信息,下面是报警垂直事件升级的效果图
三、垂直报警事件升级
能够看看这个报警升级了4次,每次升级的间隔为10分钟,分别联系了3我的,其中第二次联系的时候,是对方不接(从备注no one answer the phone能够看出)
3、如何使用语音报警
一、结合zabbix分布式监控系统
语音报警只是通知的方式,检测报警并发现还须要使用监控系统,推荐使用zabbix分别是监控,支持多平台(若是redhat系列、Ubuntu系列、windows系列);
在zabbix监控发现报警,经过使用语音报警接口来把报警内容电话通知给对应负责人。
二、事件升级机制(Escalations)
举例:若是监控主机出现报警,须要第一时间通知,但若是通知后,报警在必定时间仍然存在,或者电话通知后,因为对方夜间休息,没有接收,这样就会延误处理时间,影响业务;
方法:zabbix事件升级机制(Escalations)
优势:
Zabbix监控自带,兼容性好l发送形式能自定义(目前包括:短信通知、邮件通知、语音电话通知);
根据不一样报警等级来进行对于通知l自定义报警升级顺序、时间等;
一直通知问题直到问题解决。
三、语音接口选择
目前国内也有语音接口,但我测试感受通常,而且花费贵,因此我选择了国际厂商nexmo接口(不是打广告,对方也不给我钱,这个接口很稳定、速度很快、而且价格便宜)
Nexmo是国际知名短信云服务公司l在23个国家70多个运行商均能提供短信与语音功能;
Nexmo的企业客户包括Airbnb、Viber和ICQ等;
按需收费;
通知时间快,一般在5秒内;
强大的售后与技术支持l基础的报表功能。
4、语音报警平台案例
一、架构信息
监控服务:使用zabbix分布式监控;
事件升级:使用zabbix的Escalations垂直模式,从负责人、直属领导、总监等一级一级的升级;
语音通知接口:nexmo的tts;
平台软件架构:python+tornado+bootstrap
二、架构图
三、实现功能
严重等级报警使用语音接口进行报警通知(严重等级报警包括:重启、超时、进程不存在等);
报警垂直升级;
报警合并(同一联系人的报警,会合并为一条在发送);
平台化查看报警主机信息、语音报警通知信息等。
四、zabbix处理报警方式
五、报警垂直事件升级流程图
六、难点
后端:
报警检测间隔(默认10分钟)
垂直事件升级顺序(前2次为第一联系人,第二联系人、运维主管、运维总监)
报警合并(当前为60秒内同一联系人报警合并为1条)
报警通知时间(白天为报警出现后5分钟,晚上为10分钟,重启报警为1分钟)
报警自助处理(若是报警短期不能解决,则能够经过平台里的处理按钮不进行事件升级)
语音平台用户组权限(从zabbix数据库里获取用户组权限)
前端:
Tornado的架构学习
Bootstrap与jquery的学习
Highchart的学习
目前我公司从去年12月上线测试此平台,上传测试2个月知足需求,因此从2015年2月份正式上线此平台,截止到如今已经运行6个月运行正常,而且报警及时、准确。
如今我这里已经取消了监控运维,经过使用此平台,每月能节省1w+以上的人员成本,此平台的成本仅为15-17欧元(12欧元固定来电号码租用费用,5元左右的报警电话费用),换为人民币为105-114元左右。
此平台因为还在优化与新功能开发中,因此暂不开源,你们开源参考这个架构来自行定义本身的语言报警平台,有问题能够留言一块儿交流。