監控報警開發之zabbix語音電話報警方案聯想
前言:
我相信大家的公司都是有noc的成員,noc是在做什么的,現在基本定義為盯著監控,嚴重的告警會給你打電話,催你解決,并把這些事情定期做總結。 一般這種的工作都是指派外包人員做的。
我現在已經開發了一套報警的平臺接口,供應公司api層面的郵件接口調用,其實他現在面向的最大的客戶還是zabbix,不知道最近抽什么風,郵件的接收量比上個月都了2w封,現在已經到9w了。 有朋友說,為何不做一些修剪,因公司現在用的zabbix1.8 ,而且二次開發的度有些大,避免不必要的錯誤,盡量都是在外圍層面逛游,比如程序級別的讀寫分離,報表,周報,負載圖,單點登錄,權限和cmdb聯合等等。
現在正則全力測試2.2,2.x的版本,及后續的遷移的方案 。 話題有些跑了, 言歸正傳,現在修剪的方案是趁著我正在開發報警平臺二期,把一些郵件及短信的報警給修剪, 修剪的方案是3分鐘內,如果有重復的信息,不給于發送,在平臺上可以定義每個信息類型的修剪時間。
有些嚴重和災難級別的報警,是需要noc來打聯系的。這個時候,咱們可以用一些語音報警的api接口解決這類的問題,用的較多的有twilio、pagerduty,對于監控來說,用pagerduty的較多點。 pagerduty 配置起來是相當的簡單,拿到sid key之后,就算用shell curl也可以調用的。
在以前的公司實現過這樣的方案,其實這東西在技術上不是問題,主要是看你們公司想做不想做了!
大家會發現價格實在是不便宜。。。。 聽沈燦說,他們公司每個月花了400美元在pagerduty,外企就是財大氣粗呀!!! pagerduty有個缺點對中文支持不好。 以前用過微信的內控接口,不僅可以語音,而且還可以直接回調服務器做管理。 其實大家也可以試試國內的一些個廠商,最少對中文支持是很好的。穩不穩就不知道了。
what is pagerduty ,有興趣的朋友可以搞搞。
http://www.youtube.com/watch?v=mnSGBf5rpRo
再一個叫做nexmo,在以前的項目中搞過,缺點是api的穩定很差,現在應該是修復了,融了這么多錢,再沒點提升都說不過去了。 對于報警方面來說,pagerduty要比nexmo來用的廣泛點,最少pagerduty 支持頁面就有zabbix nagios的相關腳本和服務端的配置。
這些是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也都可以實現語音報警的。