Zabbix 整合 OneAlert 實現全方位告警

OneAPM官方技術部落格發表於2015-10-13

1. 前言

告警將重要資訊傳送給運維「或者其他相關人」,及時發現並且處理問題。在所有開源監控軟體裡面,Zabbix 的告警方式無疑是最棒的。告警的方式各式各樣,從 Email 告警到飛信、139/189郵箱、最後到微信甚至電話告警,接入存在各種問題以及困難,有沒有什麼軟體能夠將他們All In one呢?OneAlert

2. Zabbix傳統告警方法

Email:呼叫 sendmail 、sendEmail 等指令碼通過 SMTP 傳送郵件

飛信:飛信已經退出歷史舞臺,不再有人使用

189/139:傳送郵箱郵件至郵箱,郵箱將簡訊轉到使用者手機簡訊,存在一定的延遲

微信:需要申請一個微信公眾號,並接入API,整個流程比較複雜,而且存在會話時間限制

簡訊:眾多簡訊閘道器收費不同、穩定性也不確定,需要通過API接入

3.傳統告警 VS OneAlert

在整個使用過程中,得出了傳統告警方式的不足以及給個了 OneAlert 告警的功能,具體如下:

3.1 傳統告警方式的不足

  • Zabbix 郵件告警經常發不出去
  • 如需簡訊告警,要麼購買簡訊貓要麼購買簡訊 API,整個流程太麻煩
  • 微信告警需要申請公眾號以及 API 接入,而且會話有時間限制
  • 夜間的告警基本成為一個擺設,試問誰能被微弱的簡訊聲叫醒
  • 阿里雲、騰訊雲、Zabbix 各種系統告警都需要單獨配置,工作繁瑣
  • 普遍缺少告警分析
  • 139/189 傳送告警存在明顯的延遲

3.2 OneAlert告警功能

  • 告警 All In One,支援微信、郵箱、簡訊、APP、電話告警
  • 支援接入 Zabbix、Nagios、阿里雲、騰訊雲、監控寶等等告警資訊
  • 靈活的分配策略,可靈活的分配告警資訊傳送給相關人員
  • 微信、郵箱、app 等告警方式全部免費

4.接入準備

由於 Zabbix 官方已經升級到zabbix-3.0.0alpha,考慮到未來的趨勢,我也迫不及待的升級到了 3.0,除了 Web 風格變化,大部分都差不多。所以本文適用於 Zabbix2.x 與 Zabbix3.x 版本。接下來跟著涼白開將 OneAlert 接入 Zabbix,如有任何疑問或者不足,歡迎加群或者在 ttlsa.com 留言一起交流!

5. OneAlert 後臺操作

5.1 設定提醒

郵件,簡訊,微信,電話提醒,多策略提醒,如下圖,靈活的定義告警規則。在發生告警之後立即傳送郵件和微信訊息給使用者,10分鐘後還未確認,那麼傳送簡訊,30分鐘還未確認則打電話給使用者。

Zabbix 整合 OneAlert 實現全方位告警

5.2 設定分派策略

可以設定做種分派策略,在告警第一時間傳送通知給哪些人,如果在 30 分鐘還未處理好,可以將訊息傳送給上級主管人員,如下圖

Zabbix 整合 OneAlert 實現全方位告警

5.3 建立應用

登陸 OneAlert 後臺,點選告警 -> 應用 -> 新增應用,整合型別包含阿里、Nagios、騰訊雲等多種,我們選擇 Zabbix 最後儲存即可。將會生成應用 KEY,Key 在後面將會被用到!

Zabbix 整合 OneAlert 實現全方位告警

Zabbix 整合 OneAlert 實現全方位告警

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(注意:引數為-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 建立OneAlert媒介

administration->Media Types->create media type,如下圖

Zabbix 整合 OneAlert 實現全方位告警

7.2 Admin 使用者新增 OneAlert 媒介

Administration->Users->Admin->點選media->Add,輸入如下:send to 為 OneAlert 後臺生成的 key Zabbix 整合 OneAlert 實現全方位告警

7.3 建立觸發器

點選Configuration->Action->create action

  • 主題為triggerresolve,意味著告警觸發和恢復都會同步到 110monitor

  • 設定告警內容,注意冒號「:」前的內容不可變更,冒號「:」後的內容可以自行編輯,只能使用以下7調告警資訊,否則告警無法傳送至 OneAlert 介面

    alarmName:{TRIGGER.NAME}

    entityName:{HOSTNAME}

    entityId:{IPADDRESS}

    value:{TRIGGER.VALUE}

    eventId:{EVENT.ID}

    priority:{TRIGGER.SEVERITY}

    alarmContent:{IPADDRESS}

    {ITEM.NAME}:{ITEM.VALUE}

Zabbix 整合 OneAlert 實現全方位告警

Zabbix 整合 OneAlert 實現全方位告警

8. Zabbix + OneAlert 整合測試

來製造一個故障,選定一臺 Zabbix 客戶端,執行如下命令:

# killall zabbix_agentd

等候五分鐘,OneAlert 後臺有如下告警

Zabbix 整合 OneAlert 實現全方位告警

並且也收到了微信(需要關注公眾號,並且繫結賬號)和簡訊告警

9. OneAlert 告警分析

提供了一份 Zabbix 等開源監控都沒有的告警資訊分析,運維能清晰的掌握最近伺服器狀態

Zabbix 整合 OneAlert 實現全方位告警

10. 總結

OneAlert與Zabbix的整合就說到這,如有任何疑問或者不足,歡迎加群或者在 ttlsa.com 留言一起交流!

作者:涼白開 網址:http://www.ttlsa.com

相關文章