Nagios是一款開源的免費網絡監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機狀態(tài),交換機路由器等網絡設備。在系統(tǒng)或服務狀態(tài)異常時發(fā)出短信報警,第一時間通知相關運維人員,同時在系統(tǒng)或服務狀態(tài)恢復正常后發(fā)出短信通知。
如何更快、更準確的將告警通知推送給運維及其他指定人員,短信因其速度快、強展現(xiàn)的優(yōu)點,成為了告警中重要的一種通知方式。本文將介紹Nagios如何配置短信告警服務。

Nagios短信告警配置流程
1.創(chuàng)建 /usr/local/nagios/script/ihuyi_sms.py。
#注意事項:
#(1)調試期間,請用默認的模板進行測試,默認模板詳見接口文檔;
#(2)請使用 用戶名 及 APIkey來調用接口,APIkey在會員中心可以獲??;
#(3)該代碼僅供接入互億無線短信接口參考使用,客戶可根據實際需要自行編寫;
#!/usr/local/bin/python
#-*- coding:utf-8 -*-
import urllib2
import urllib
#用戶名 查看用戶名請登錄用戶中心->驗證碼、通知短信->帳戶及簽名設置->APIID
account = "用戶名"
#密碼 查看密碼請登錄用戶中心->驗證碼、通知短信->帳戶及簽名設置->APIKEY
password = "密碼"
mobile = "138xxxxxxxx"
text = "您的驗證碼是:121254。請不要把驗證碼泄露給其他人。"
data = {'account': account, 'password' : password, 'content': text, 'mobile':mobile,'format':'json' }
req = urllib2.urlopen(
url= 'http://106.ihuyi.com/webservice/sms.php?method=Submit',
data= urllib.urlencode(data)
)
content =req.read()
print(content)
2. 在command.cfg中增加短信報警命令。
# 'notify-by-sms' command definition
define command{
command_name notify-by-sms
command_line /usr/local/python3/bin/python3 /usr/local/nagios/script/ihuyi_sms.py $CONTACTPAGER$ "$SERVICEDESC$" "$NOTIFICATIONTYPE$" "$SERVICEST
ATE$" "$SERVICEOUTPUT$"
}
3. 在contacts.cfg中,對需要接收短信的用戶添加。
service_notification_commands notify-by-sms
host_notification_commands notify-by-sms
4. 重啟nagios服務。
互億無線短信告警解決方案
一、強提醒消息解決方案
采用短信通知專用通道+失敗自動重發(fā)+延時自動重發(fā)等技術,確保用戶能100%快速收到短信的同時,能以強提醒的方式吸引用戶關注,避免用戶錯過重要消息。

二、信息接收反饋解決方案
采用短信通知專用通道+失敗自動重發(fā)+延時自動重發(fā)等技術,確保用戶能100%快速收到短信;同時短信需要用戶查看后進行回復反饋。

互億無線短信告警平臺優(yōu)勢
全網覆蓋
支持移動、聯(lián)通、電信三大運營商,全國發(fā)送
穩(wěn)定可靠
主備多條鏈數,集群化服務
響應及時
獨享短碼端口號高速發(fā)送
語音自動補呼
由于用戶手機問題,無法接收短信,系統(tǒng)自動語音呼叫用戶手機,播報驗證碼。
>>免費試用短信告警服務。