Zabbix 短信报警 示例:bash
注意zabbix 脚本文件默认放置目录是 alertscripts (zabbix 动做调用脚本目录)服务器
# 编辑 zabbix_server.conf # AlertScriptsPath=${datadir}/zabbix/alertscripts
# 默认在 四百多行
二、建立短信报警脚本 sms.shcurl
# cat alertscripts/sms.sh
#!/bin/bash LOGFILE="/var/log/sms.log" # 脚本日志文件 :>"$LOGFILE" exec 1>"$LOGFILE" exec 2>&1 mobile=$1 # 手机号 # $2没有用到 content=$3 # 短信内容 XXD="/usr/bin/xxd" TIMEOUT=5 MESSAGE_ENCODE=$(echo "$content" | ${XXD} -ps | sed 's/\(..\)/%\1/g' | tr -d '\n') # 短信编码处理 curl -d "mobile=${mobile}&content=${MESSAGE_ENCODE}" http://172.16.5.110/sms/ # 配置提交短信接口发送; http://172.16.5.110/sms 为短信接口地址, # 测试: # /alertscripts/sms.sh 1880000000 "" "发送报警测试" # 脚本执行第一个参数为手机号;第二个设置空;第三个参数为短信内容。 # 脚本执行后,到日志文件 /var/log/sms.log 里查看返回值,若是大于0表明发送成功,小于0发送失败。
三、修改j脚本执行权限测试
chown -R zabbix:zabbix alertscripts/sms.sh
四、测试脚本:编码
./alertscripts/sms.sh 1880000000 "" "发送报警测试" # 脚本执行第一个参数为手机号;第二个设置空;第三个参数为短信内容。 # 脚本执行后,到日志文件 /var/log/sms.log 里查看返回值,若是大于0表明发送成功,小于0发送失败。
五、Zabbix 平台配置。url
脚本名称和服务端配置的文件名一致 sms.sh spa
添加 用户: (能够配置成 一个用户组)3d
报警动做 配置 : (【事件源】 选择 【 触发器 】)日志
配置 【动做】 - 【条件】 - 【操做】 (默认配置 或者更改成中文标题 )code
默认接收人
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障
默认信息
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
报警 【条件】 配置: (也能够默认)
报警 【操做】 配置 (默认的 管理员帐户组权限,能够加一个 报警帐户组 )
默认配置事件 - 操做帐户 - 发送方式 短信脚本。