zabbix的報警方式有多種,除了常見的郵件報警外,特殊情況下還需要設置短信報警和微信報警等額外方式。本篇文章向大家介紹短信報警。
短信報警的設置和郵件報警的思路是類似的,主要劃分為一下幾個過程:
1.編寫短信報警的腳本; 2.在zabbix的操作界面添加短信報警媒介; 3.對指定的用戶添加短信報警方式; 4.設置動作何時進行短信報警;
我們逐個來分解這些過程:
短信報警借助于第三方平臺,與郵件報警指定第三方的郵件服務器類似,我們需要指定短信發送服務器,這里我們以中國網建SMS短信通為例,其官網地址如下: http://sms.webchinese.com.cn/api.shtml
網站介紹了如何申請注冊用戶,設定登錄密鑰,以及相關api和返回碼的使用說明,通過這個教程可以很方便的學會如何使用腳本發送報警信息。
1.在zabbix server所在的服務器上設定好腳本所在目錄/usr/local/etc/alertscripts:
mkdir -p /usr/local/etc/alertscripts/編寫腳本文件,需要明晰如下幾個重要因素:
1.接受方2.發送內容3.相關驗證信息:Uid 和 Key4.如何發送在網站的api介紹中可以看到使用說明:
以及返回狀態碼:
根據不同的狀態碼我們可以排查失敗時的原因。 接下來就是發送腳本sendSMS.sh的內容:
#!/bin/bash# 腳本的日志文件LOGFILE="/tmp/SMS.log":>"$LOGFILE"exec 1>"$LOGFILE"exec 2>&1MOBILE_NUMBER=$1 # 手機號碼MESSAGE_UTF8=$3 # 短信內容XXD="/usr/bin/xxd"CURL="/usr/bin/curl"TIMEOUT=5# 短信內容要經過URL編碼處理MESSAGE_ENCODE=$(echo "$MESSAGE_UTF8" | ${XXD} -ps | sed 's//(../)/%/1/g' | tr -d '/n')# Uid和Key的值需要自行修改,http://www.smschinese.cn/api.shtml# Uid 網站用戶名# Key 接口秘鑰Uid="#############" Key="#############" #接口秘鑰可以在網站中查詢到# SMS APIURL="http://utf8.sms.webchinese.cn/?Uid=${Uid}&Key=${Key}&smsMob=${MOBILE_NUMBER}&smsText=${MESSAGE_ENCODE}"# Send itset -x${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"接口秘鑰Key的值可以在網站中查詢到:
接下來做修改目錄和文件的所有人、權限:
chmod +x sendSMS.sh chown zabbix.zabbix /tmp/SMS.log #記錄日志文件chown zabbix.zabbix /usr/local/etc/alertscripts/ -R可以測試下短信發送是否可達:
./sendSMS.sh 1********** "" "尊敬的客戶,您的訂單已出庫發貨,正在配送中,請您耐心等待。"可以看到短信已經收到:
1.添加報警媒介:
2.對指定的用戶添加該報警方式,通知指定接受短信的手機號碼: 3.在動作中添加何時觸發發送短信:
我們可以通過關閉一個zabbix_agentd客戶端,然后觸發報警:
[root@vs155 sbin]# killall -USR2 zabbix_agentd可以看到果斷時間就收到了短信報警:
短信報警的介紹到這里就結束了,但是個人覺得資費還是太貴??梢宰鳛橐环N輔助報警方式,如果考慮到成本,可以降低指定動作的報警頻率。
新聞熱點
疑難解答