1. 前言
告警將重要信息發(fā)送給運維「或者其他相關(guān)人」,及時發(fā)現(xiàn)并且處理問題。在所有開源監(jiān)控軟件里面,Zabbix 的告警方式無疑是最棒的。告警的方式各式各樣,從 Email 告警到飛信、139/189郵箱、最后到微信甚至電話告警,接入存在各種問題以及困難,有沒有什么軟件能夠?qū)⑺麄傾ll In one呢?OneAlert
2. Zabbix傳統(tǒng)告警方法
Email:調(diào)用 sendmail 、sendEmail 等腳本通過 SMTP 發(fā)送郵件
飛信:飛信已經(jīng)退出歷史舞臺,不再有人使用
189/139:發(fā)送郵箱郵件至郵箱,郵箱將短信轉(zhuǎn)到用戶手機(jī)短信,存在一定的延遲
微信:需要申請一個微信公眾號,并接入API,整個流程比較復(fù)雜,而且存在會話時間限制
短信:眾多短信網(wǎng)關(guān)收費不同、穩(wěn)定性也不確定,需要通過API接入
3.傳統(tǒng)告警 VS OneAlert
在整個使用過程中,得出了傳統(tǒng)告警方式的不足以及給個了 OneAlert 告警的功能,具體如下:
3.1 傳統(tǒng)告警方式的不足
Zabbix 郵件告警經(jīng)常發(fā)不出去
如需短信告警,要么購買短信貓要么購買短信 API,整個流程太麻煩
微信告警需要申請公眾號以及 API 接入,而且會話有時間限制
夜間的告警基本成為一個擺設(shè),試問誰能被微弱的短信聲叫醒
阿里云、騰訊云、Zabbix 各種系統(tǒng)告警都需要單獨配置,工作繁瑣
普遍缺少告警分析
139/189 發(fā)送告警存在明顯的延遲
3.2 OneAlert告警功能
告警 All In One,支持微信、郵箱、短信、APP、電話告警
支持接入 Zabbix、Nagios、阿里云、騰訊云、監(jiān)控寶等等告警信息
靈活的分配策略,可靈活的分配告警信息發(fā)送給相關(guān)人員
微信、郵箱、app 等告警方式全部免費
4.接入準(zhǔn)備
由于 Zabbix 官方已經(jīng)升級到zabbix-3.0.0alpha,考慮到未來的趨勢,我也迫不及待的升級到了 3.0,除了 Web 風(fēng)格變化,大部分都差不多。所以本文適用于 Zabbix2.x 與 Zabbix3.x 版本。接下來跟著涼白開將 OneAlert 接入 Zabbix,如有任何疑問或者不足,歡迎加群或者在 ttlsa.com 留言一起交流!
5. OneAlert 后臺操作
5.1 設(shè)置提醒
郵件,短信,微信,電話提醒,多策略提醒,如下圖,靈活的定義告警規(guī)則。在發(fā)生告警之后立即發(fā)送郵件和微信消息給用戶,10 分鐘后還未確認(rèn),那么發(fā)送短信,30 分鐘還未確認(rèn)則打電話給用戶。
5.2 設(shè)置分派策略
可以設(shè)定做種分派策略,在告警第一時間發(fā)送通知給哪些人,如果在 30 分鐘還未處理好,可以將消息發(fā)送給上級主管人員,如下圖
5.3 創(chuàng)建應(yīng)用
登陸 OneAlert 后臺,點擊告警 -> 應(yīng)用 -> 新增應(yīng)用,集成類型包含阿里、Nagios、騰訊云等多種,我們選擇 Zabbix 最后保存即可。將會生成應(yīng)用 KEY,Key 在后面將會被用到!
6.安裝onealert agent
#cd /usr/local/src/
# wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC2.tar.gz
# tar –xvf alert-agent-4.0.1-RC2.tar.gz(
注意:參數(shù)為 -xvf,不是 -xzvf)
# cp -rp alert-agent /usr/local/zabbix-3.0.0/alertscripts
# cd /usr/local/zabbix-3.0.0/alertscripts
# cp alert-agent/plugin/zabbix-plugin/110monitor .
# chmod +x ./110monitor
7. Zabbix 集成OneAlert
以下操作均在 Zabbix Web 后臺完成
7.1 創(chuàng)建 OneAlert 媒介
administration->Media Types->create media type,如下圖
7.2 Admin 用戶添加 OneAlert 媒介
Administration->Users->Admin->點擊media->Add,輸入如下:send to 為 OneAlert 后臺生成的 key
7.3 創(chuàng)建觸發(fā)器
點擊Configuration->Action->create action
- 主題為
trigger和resolve,意味著告警觸發(fā)和恢復(fù)都會同步到
110monitor
- 設(shè)置告警內(nèi)容,注意冒號「:」前的內(nèi)容不可變更,冒號「:」后的內(nèi)容可以自行編輯,只能使用以下7調(diào)告警信息,否則告警無法發(fā)送至 OneAlert 接口
`alarmName:{TRIGGER.NAME}`
`entityName:{HOSTNAME}`
` entityId:{IPADDRESS}`
`value:{TRIGGER.VALUE}`
` eventId:{EVENT.ID}`
`priority:{TRIGGER.SEVERITY}`
`alarmContent:{IPADDRESS} `
`{ITEM.NAME}:{ITEM.VALUE}`
8. Zabbix + OneAlert 集成測試
來制造一個故障,選定一臺 Zabbix 客戶端,執(zhí)行如下命令:
# killall zabbix_agentd
等候五分鐘,OneAlert 后臺有如下告警
并且也收到了微信(需要關(guān)注公眾號,并且綁定賬號)和短信告警
9. OneAlert 告警分析
提供了一份 Zabbix 等開源監(jiān)控都沒有的告警信息分析,運維能清晰的掌握最近服務(wù)器狀態(tài)
10. 總結(jié)
OneAlert與Zabbix的集成就說到這,如有任何疑問或者不足,歡迎加群或者在 ttlsa.com 留言一起交流!
作者:涼白開 網(wǎng)址:http://www.ttlsa.com