Zabbix 短信報警 示例:bash
注意zabbix 腳本文件默認放置目錄是 alertscripts (zabbix 動做調用腳本目錄)服務器
# 編輯 zabbix_server.conf # AlertScriptsPath=${datadir}/zabbix/alertscripts
# 默認在 四百多行
二、建立短信報警腳本 sms.shcurl
# cat alertscripts/sms.sh
#!/bin/bash LOGFILE="/var/log/sms.log" # 腳本日誌文件 :>"$LOGFILE" exec 1>"$LOGFILE" exec 2>&1 mobile=$1 # 手機號 # $2沒有用到 content=$3 # 短信內容 XXD="/usr/bin/xxd" TIMEOUT=5 MESSAGE_ENCODE=$(echo "$content" | ${XXD} -ps | sed 's/\(..\)/%\1/g' | tr -d '\n') # 短信編碼處理 curl -d "mobile=${mobile}&content=${MESSAGE_ENCODE}" http://172.16.5.110/sms/ # 配置提交短信接口發送; http://172.16.5.110/sms 爲短信接口地址, # 測試: # /alertscripts/sms.sh 1880000000 "" "發送報警測試" # 腳本執行第一個參數爲手機號;第二個設置空;第三個參數爲短信內容。 # 腳本執行後,到日誌文件 /var/log/sms.log 裏查看返回值,若是大於0表明發送成功,小於0發送失敗。
三、修改j腳本執行權限測試
chown -R zabbix:zabbix alertscripts/sms.sh
四、測試腳本:編碼
./alertscripts/sms.sh 1880000000 "" "發送報警測試" # 腳本執行第一個參數爲手機號;第二個設置空;第三個參數爲短信內容。 # 腳本執行後,到日誌文件 /var/log/sms.log 裏查看返回值,若是大於0表明發送成功,小於0發送失敗。
五、Zabbix 平臺配置。url
腳本名稱和服務端配置的文件名一致 sms.sh spa
添加 用戶: (能夠配置成 一個用戶組)3d
報警動做 配置 : (【事件源】 選擇 【 觸發器 】)日誌
配置 【動做】 - 【條件】 - 【操做】 (默認配置 或者更改成中文標題 )code
默認接收人
故障{TRIGGER.STATUS},服務器:{HOSTNAME1}發生: {TRIGGER.NAME}故障
默認信息
告警主機:{HOSTNAME1}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警等級:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
報警 【條件】 配置: (也能夠默認)
報警 【操做】 配置 (默認的 管理員帳戶組權限,能夠加一個 報警帳戶組 )
默認配置事件 - 操做帳戶 - 發送方式 短信腳本。