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