zabbix企業應用之自動語音報警平臺

我從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、語音報警效果圖

我通常看新內容都喜歡先看看效果圖,若是知足我需求才深刻研究,因此我也先給你們展現一下效果圖,你們以爲知足在向下看,不知足能夠退出。

一、報警界面

wKiom1U-55zzqS8BAAOycXAPKgw168.jpg

在右側的「處理」列裏,能夠看到報警是已經恢復,因此「處理」列信息都是不可使用,而且爲已處理,若是是報警未恢復,則能夠經過點擊處理,手動關閉語音報警升級下去。

二、語音報警結果界面(也就是上面圖片裏「詳情」)

wKiom1U-59_jM8thAAIk1SyLpKE018.jpg上圖爲發送語音報警的報警信息與接收人的信息,下面是報警垂直事件升級的效果圖

三、垂直報警事件升級

wKioL1U-6ZWT8jE6AAOaIIMh1dU407.jpg能夠看看這個報警升級了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

二、架構圖

wKiom1U-6lOzZ67UAAKnC1fOIxA013.jpg

三、實現功能

嚴重等級報警使用語音接口進行報警通知(嚴重等級報警包括:重啓、超時、進程不存在等);

報警垂直升級;

報警合併(同一聯繫人的報警,會合併爲一條在發送);

平臺化查看報警主機信息、語音報警通知信息等。

四、zabbix處理報警方式

wKiom1U-6pmyaQlfAAbCqpbxCv0080.jpg

五、報警垂直事件升級流程圖

wKioL1U-7CrSxhq9AAN1lKUsC5U497.jpg

六、難點

後端:

報警檢測間隔(默認10分鐘)

垂直事件升級順序(前2次爲第一聯繫人,第二聯繫人、運維主管、運維總監)

報警合併(當前爲60秒內同一聯繫人報警合併爲1條)

報警通知時間(白天爲報警出現後5分鐘,晚上爲10分鐘,重啓報警爲1分鐘)

報警自助處理(若是報警短期不能解決,則能夠經過平臺裏的處理按鈕不進行事件升級)

語音平臺用戶組權限(從zabbix數據庫裏獲取用戶組權限)

前端:

Tornado的架構學習

Bootstrap與jquery的學習

Highchart的學習

目前我公司從去年12月上線測試此平臺,上傳測試2個月知足需求,因此從2015年2月份正式上線此平臺,截止到如今已經運行6個月運行正常,而且報警及時、準確。

如今我這裏已經取消了監控運維,經過使用此平臺,每月能節省1w+以上的人員成本,此平臺的成本僅爲15-17歐元(12歐元固定來電號碼租用費用,5元左右的報警電話費用),換爲人民幣爲105-114元左右。

此平臺因爲還在優化與新功能開發中,因此暫不開源,你們開源參考這個架構來自行定義本身的語言報警平臺,有問題能夠留言一塊兒交流。

相關文章
相關標籤/搜索