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}