前言:

我相信大家的公司都是有noc的成员,noc是在做什么的,现在基本定义为盯着监控,严重的告警会给你打电话,催你解决,并把这些事情定期做总结。 一般这种的工作都是指派外包人员做的。

我现在已经开发了一套报警的平台接口,供应公司api层面的邮件接口调用,其实他现在面向的最大的客户还是zabbix,不知道最近抽什么风,邮件的接收量比上个月都了2w封,现在已经到9w了。 有朋友说,为何不做一些修剪,因公司现在用的zabbix1.8 ,而且二次开发的度有些大,避免不必要的错误,尽量都是在外围层面逛游,比如程序级别的读写分离,报表,周报,负载图,单点登录,权限和cmdb联合等等。

现在正则全力测试2.2,2.x的版本,及后续的迁移的方案 。  话题有些跑了,  言归正传,现在修剪的方案是趁着我正在开发报警平台二期,把一些邮件及短信的报警给修剪, 修剪的方案是3分钟内,如果有重复的信息,不给于发送,在平台上可以定义每个信息类型的修剪时间。

有些严重和灾难级别的报警,是需要noc来打联系的。这个时候,咱们可以用一些语音报警的api接口解决这类的问题,用的较多的有twilio、pagerduty,对于监控来说,用pagerduty的较多点。 pagerduty 配置起来是相当的简单,拿到sid key之后,就算用shell curl也可以调用的。

在以前的公司实现过这样的方案,其实这东西在技术上不是问题,主要是看你们公司想做不想做了!

监控报警开发之zabbix语音电话报警方案联想_第1张图片

大家会发现价格实在是不便宜。。。。  听沈灿说,他们公司每个月花了400美元在pagerduty,外企就是财大气粗呀!!!  pagerduty有个缺点对中文支持不好。   以前用过微信的内控接口,不仅可以语音,而且还可以直接回调服务器做管理。    其实大家也可以试试国内的一些个厂商,最少对中文支持是很好的。稳不稳就不知道了。

监控报警开发之zabbix语音电话报警方案联想_第2张图片

what is pagerduty ,有兴趣的朋友可以搞搞。

http://www.youtube.com/watch?v=mnSGBf5rpRo

再一个叫做nexmo,在以前的项目中搞过,缺点是api的稳定很差,现在应该是修复了,融了这么多钱,再没点提升都说不过去了。 对于报警方面来说,pagerduty要比nexmo来用的广泛点,最少pagerduty 支持页面就有zabbix nagios的相关脚本和服务端的配置。    

wKioL1PEFauRoHoFAAKWqlLk4yY433.jpg

这些是api的一些个选项,显得很整洁吧。他的回调显得很给力,咱们可以电话通知后,在数据库标记为已通知 !

ParameterDescription

toRequired. Phone number in international format and one recipient per request. Ex: to=447525856424 when sending to UK

fromOptional. A voice enabled inbound number associated with your account.

textRequired. Body of the text message (with a maximum length of 1000 characters), UTF-8 and URL encoded value. Check our tips.

lgOptional. The language used to read the message, expected values are below and en-us "US english" is the default.

voiceOptional. The voice to be used female (default) or male

callbackOptional. A URL to which Nexmo will send a request when the call ends to notify your application.

callback_methodOptional. The HTTP method for your callback. Must be GET (default) or POST.

总结:

监控很苦逼,有些监控通知不能不通知,接电话的不情愿,打电话的兄弟也蛋疼。 解放noc,就从语音电脑报警接入。zabbix、nagios调用自己的rest api也都可以实现语音报警的。

博文地址:http://rfyiamcool.blog.51cto.com/1030776/1438187