Zabbix短信报警脚本

脚本内容

#!/bin/bash
#
# Filename:    sendSMS.sh
# Revision:    1.0
# Date:        2017/11/21
# Author:      LiuGuangShun
# Email:
# Website:     http://zabbix
# Description: zabbix短信告警脚本
# Notes:       短信网关使用了创蓝短信
#
 
# 脚本的日志文件
LOGFILE="/tmp/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')
 
# Uid和Key的值需要自行修改
# Uid 网站用户名
# Key 接口秘钥
Uid="*******"
Key="******"
# SMS API
URL="http://sapi.253.com/msg/HttpBatchSendSM?account=${Uid}&pswd=${Key}&mobile=${MOBILE_NUMBER}&msg=${MESSAGE_ENCODE}&needstatus=false"
 
# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"

脚本文件存放位置/usr/local/zabbix/share/zabbix/alertscripts/

更改短信日志文件所属者
chown zabbix:zabbix /tmp/SMS.log

测试短信是否可以发送
/sendSMS.sh 13* "" "尊敬的客户,您的订单已出库发货,正在配送中,请您耐心等待。"

添加脚本参数

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}