zabbix3配置短信報警


需求:在zabbix服務器配置短信報警,當服務出現故障達到預警級別是通過發送短信的形式告訴運維人員,以便及時處理.

一、zabbix服務器端配置短信腳本

  我的短信腳本放置位置為 /etc/zabbix/alertscripts,這個必須在/etc/zabbix/zabbix_server.conf配置文件中放開 AlertScriptsPath=/etc/zabbix/alertscripts

  進入/etc/zabbix/alertscripts目錄,創建短信告警腳本sendSMS.sh,內容入下:

#!/bin/bash

# 腳本的日志文件
LOGFILE="/var/log/zabbix/sms.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1


MOBILE_NUMBER=$1                  # 手機號碼
MESSAGE_UTF8=$3                    # 短信內容
XXD="/usr/bin/xxd"
CURL="/usr/bin/curl"
TIMEOUT=5

# 短信內容要經過URL編碼處理,除了下面這種方法,也可以用curl的--data-urlencode選項實現。
MESSAGE_ENCODE=$(echo "$MESSAGE_UTF8" | ${XXD} -ps | sed 's/\(..\)/%\1/g' | tr -d '\n')

# SMS API 接口用戶名和秘鑰
ACCOUNT="xxx"
PASS="1234xxxooxx"

URL="http://10.73.17.10/msg/HttpBatchSendSM?account=${ACCOUNT}&pswd=${PASS}&mobile=${MOBILE_NUMBER}&msg=${MESSAGE_ENCODE}&needstatus=true"


# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"

然后執行下面的命令,設置腳本和日志文件權限:

touch /tmp/SMS.log
chown zabbix:zabbix /tmp/SMS.log
chown zabbix:zabbix /etc/zabbix/alertscripts/sendSMS.sh
chmod +x /etc/zabbix/alertscripts/sendSMS.sh

手動測試腳本:

# /etc/zabbix/alertscripts/sendSMS.sh xxxxxxxxxxx "" "尊敬的客戶,您的訂單已出庫發貨,正在配送中,請您耐心等待。"

腳本第一個參數為手機號碼;第二個參數不會用到,設為空就行;第三個參數為短信內容。

腳本執行后,到日志文件/tmp/SMS.log里查看返回值,如果大於0代表發送成功,小於0發送失敗。

二、在zabbix web界面配置告警方式(Media types)

選擇【Administration】->【Media types】-> 【Create media type】,創建短信告警方式,如下圖: 

 注意:"Name"給告警方式起個名字,"Type"選擇Script類型,"Script name"填寫上面創建的腳本名.

三、配置用戶的手機號碼

選擇【Administration】->【Users】,進入用戶配置界面,在"Media"選項卡中配置用戶接收告警的手機號碼。點擊"Add",在彈出的窗口中輸入用戶手機號,見下圖:

四、配置告警動作(Action)

選擇【Configuration】->【Actions】,進入告警動作配置界面,創建新的action。

1、配置短信內容(Default message)

 2、配置告警條件(Conditions)

 3、配置告警接收人(Action operations)

 

參考文檔:http://www.sxt.cn/u/756/blog/3198


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM