首页 > 代码库 > Zabbix实现短信报警设置(实战)
Zabbix实现短信报警设置(实战)
配置环境:
zabbix 2.2.15
1.配置示警媒介类型
此文件所在位置:/usr/lib/zabbix/alertscripts/
必须拥有执行权限,并且改变所属用户和组
要修改此脚本的路径,需修改zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
脚本内容:
#!/bin/bash
#
# Filename: sendSMS.sh
# Revision: 1.0
# Date: 2016/12/13
# Author: wang
# Email:
# Description: zabbix短信告警脚本
# Notes: 短信网关使用了中国网建SMS短信通
#
# 脚本的日志文件
LOGFILE="/tmp/SMS.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1
# Uid和Key的值需要自行修改,http://www.smschinese.cn/api.shtml
# Uid 网站用户名
# Key 接口秘钥
Uid="xxxxxx"
Key="xxxxxx"
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
URL="http://utf8.sms.webchinese.cn/?Uid=${Uid}&Key=${Key}&smsMob=${MOBILE_NUMBER}&smsText=${MESSAGE_ENCODE}"
# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"
把链接替换成自己的就可以了,测试中curl不太好用,可以用elinks代替!
2.然后是创建用户
3.其次是配置告警动作
1、选择系统配置----》动作----》Create action 创建动作
2、配置操作名称和报警邮件内容
主题:{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
状态: {TRIGGER.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警信息: {TRIGGER.NAME}
告警等级: {TRIGGER.SEVERITY}
Trigger URL: {TRIGGER.URL}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
3.根据自己的需求设置条件
4.定义操作
最后就是触发一下报警进行测试,需要注意的是短信通道一般不能频繁发送短信,大家测试的时候注意发送频率!
本文出自 “linux运维技术” 博客,请务必保留此出处http://forall.blog.51cto.com/12356505/1882979
Zabbix实现短信报警设置(实战)