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



























