原理:通过脚本将zabbix报警信息传递到短信接口并发送至手机.
步骤简述:
1.定制调用短信接口的脚本->2.配置zabbix调用脚本的media type->3.配置zabbix触发器及报警动作action.
Step1 指定zabbix server报警脚本路径
#vim /etc/zabbix/zabbix-server.conf
# AlertScriptsPath=${datadir}/zabbix/alertscripts
#去掉注释,指定报警脚本路径
AlertScriptsPath=/usr/lib/zabbix/alertscripts
Step2 定制报警脚本
#vim /usr/lib/zabbix/alertscrips/sendsms.sh
#!/bin/bash
#定义变量
username=Mahuateng #短信接口提供的用户名
password=60307c5dfa23289954bb2a726 #短信接口提供的密码,用MD5加密
#password=`echo -n "password" |openssl md5`
apikey=65c660307c5dfa2328992a5 #短信接口提供的apikey
content=`echo -n "$2" |od -An -tx1|tr ‘ ‘ %` #UrlEncode编码转化,$2为是将要传递的内容
mobile=$1 #定义接收人变量为$1
curl=http://m.5c.com.cn/api/send/index.php #短信接口web
curl -d "username=$username&password_md5=$password&apikey=$apikey&mobile=$1&encode=UTF-8&content=$2" $curl
#调用接口,并将$1和$2传送到短信平台发送至手机
Step3 测试脚本
#chown zabbix. /usr/lib/zabbix/alertscripts/sendsms.sh 将脚本文件属主改为zabbix(非必须)
#chmod +x /usr/lib/zabbix/alertscripts/sendsms.sh 增加文件的可执行权限
#/usr/lib/zabbix/alertscripts/sendsms.sh $1 $2
实例:
#/usr/lib/zabbix/alertscripts/sendsms.sh 8613812341234 "测试短信内容"
如果短信接口的服务和配置都正常,那么就可以收到测试短信了.手机号码前加86
Step4 配置zabbix,使其将报警内容传入脚本中的$2
1. 创建media type
登陆zabbix->administration->media type->create media type
Step5 添加用户报警介质
Configuration->Users->选择用户->media
Step6 创建action
Configuration->Actions->Create actions
定制报警内容
设置报警条件
设置报警动作,operation type选择send message,并添加报警接收人.
配置完成,可以停掉一台zabbix agent测试短信报警了.
本文出自 “舞妖” 博客,转载请与作者联系!
原文地址:http://ielts.blog.51cto.com/9182595/1913029