zabbix 短信报警

使用的短信平台是云片网,接口请看官网短信接口API文档,有示例

进入server服务器存放脚本的文件夹,默认路径是

[root@test zabbix]# cat zabbix_server.conf |grep -Ev '^$|^#'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=jason_zhang
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts      ####默认路径 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

创建短信脚本 sendsms.sh

#!/bin/bash
export LANG=en_US.UTF-8
mobile=$(echo $1|sed 's/,/",\n"/g')
text=$3
apikey="xxxxxxxxxxx"                           #####自己的云片网账户apikey
#mobile="$mobile"
#text="$text"
echo "get user info:"
curl --data "apikey=$apikey" "https://sms.yunpian.com/v2/user/get.json"
echo "\nsend sms:"
curl  --data "apikey=$apikey&mobile=$mobile&text=$text" \
"https://sms.yunpian.com/v2/sms/single_send.json"

更改sendsms.sh的权限和所属

chmod +x  sendsms.sh

chown -R zabbix:zabbix sendsms.sh

登录云片网创建短信的签名和模板

 

创建符合自己报警短信的模板(报警模板和恢复模板)注意格式不要用回车和空格

 

报警模板
【C5电竞】故障#TRIGGER_STATUS#告警主机#HOST_NAME#告警时间#EVENT_DATE#告警等级#TRIGGER_SEVERITY#告警信息#TRIGGER_NAME#问题详情#ITEM_NAME##ITEM_VALUE#

恢复模板
【C5电竞】恢复#TRIGGER_STATUS#服务器#HOSTNAME1##TRIGGER_NAME#已恢复!告警主机#HOST_NAME#告警时间#EVENT_DATE##EVENT_RECOVERY_TIME#告警等级#TRIGGER_SEVERITY#告警信息#TRIGGER_NAME#

登录zabbix-server web端创建报警媒介

 

脚本参数

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

添加短信接收人的电话,多个电话用逗号隔开

创建触发动作

 

注意格式
报警
默认标题
【C5电竞】故障
消息内容
故障{TRIGGER.STATUS},告警主机:{HOSTNAME1}, 告警时间:{EVENT.DATE} {EVENT.TIME}, 告警等级:{TRIGGER.SEVERITY}, 告警信息: {TRIGGER.NAME},问题详情:{ITEM.NAME}:{ITEM.VALUE}
恢复
默认标题
【C5电竞】恢复
消息内容
恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!告警主机:{HOST.NAME} ,告警时间:{EVENT.DATE}{EVENT.RECOVERY.TIME},告警等级:{TRIGGER.SEVERITY},告警信息:{TRIGGER.NAME}

测试,关掉一台agent主机,五分钟后

 

参考

http://blog.51cto.com/qicheng0211/1551105

http://blog.51cto.com/ielts/1913029

https://www.cnblogs.com/kevingrace/p/7400583.html 

猜你喜欢

转载自www.cnblogs.com/xiaoyou2018/p/9716844.html