zabbix3配置短信报警
Posted 梦徒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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="jinrgcxxx" PASS="Jinr1234xxxooxx" URL="http://222.73.117.158/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)
参考文档:http://www.sxt.cn/u/756/blog/3198
以上是关于zabbix3配置短信报警的主要内容,如果未能解决你的问题,请参考以下文章