短信宝
创建短信脚本
vim /usr/lib/zabbix/alertscripts/zabbix_sms.sh
#!/usr/bin/env bash
sendSms(){
password=$( echo -n ${password}|md5sum|cut -d ' ' -f1)
content="${content// /%20}"
url=${smsapi}"sms?u="${user}"&p="${password}"&m="${phone}"&c="${content}
result=`curl -s ${url}`
statusStr
}
statusStr(){
case ${result} in
0) echo "短信发送成功";;
-1) echo "参数不全";;
-2) echo "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!";;
30) echo "密码错误";;
40) echo "账号不存在";;
41) echo "余额不足";;
42) echo "账户已过期";;
43) echo "IP地址限制";;
50) echo "内容含有敏感词";;
esac
}
smsapi="http://api.smsbao.com/"
#短信平台账号
user="***"
#短信平台密码
password="****"
#要发送的短信内容
content=$2
#要发送短信的手机号码
phone=$1
sendSms
CAT="/bin/cat"
MESSAGE(){
${CAT} <
{
"bizType": 0,
"smsContent": "$content",
"userMobile": "$phone"
}
EOF
}
chmod a+x /usr/lib/zabbix/alertscripts/sms.sh
chown zabbix.zabbix zabbix_sms.sh
测试脚本
/usr/lib/zabbix/alertscripts/zabbix_sms.sh 185*****923 "测试短信内容"

参数
{ALERT.SENDTO} //接收人信息
{ALERT.SUBJECT}
{ALERT.MESSAGE} //报警内容



故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
故障{TRIGGER.STATUS}
告警主机:{HOSTNAME1},
告警时间:{EVENT.DATE} {EVENT.TIME},
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}

服务器:{HOST.NAME}: {TRIGGER.NAME}已恢复!
恢复{TRIGGER.STATUS}
服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
告警主机:{HOST.NAME}
告警时间:{EVENT.DATE}{EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}

服务器:{HOST.NAME}: 报警确认
确认人:{USER.FULLNAME}
时间:{ACK.DATE} {ACK.TIME}
确认信息如下:
"{ACK.MESSAGE}"
问题服务器IP:{HOSTNAME1}
问题ID:{EVENT.ID}
当前的问题是: {TRIGGER.NAME}
测试是否可以收到短信

该脚本用于Zabbix监控系统,当触发报警时自动通过短信宝平台发送短信通知。脚本中定义了发送短信的函数,包括计算密码、格式化内容和调用API等步骤。内容包含故障信息、触发状态、主机名、告警时间和级别等关键信息。

被折叠的 条评论
为什么被折叠?



