1.准备工作
#访问短信网址:172.16.98.1,网线插LAN口 #账号&密码:admin 安装ubuntu系统模拟http请求工具(命令行模式) # apt-get install httpie # 方式get请求 http 127.0.0.1:8000/xxxxxxx/1733981 # 发送post请求 http -f POST 127.0.0.1:8000/xxxxxxxx/1741535 action=hse
2.准备短信接口
我们用的是SWG-M202L交换机,登录网关web页面后,在短信---短信设置里找到HTTP发送短信
在浏览其中输入上面url并传入相关参数,测试成功
3.写入脚本
我的脚本放置路径为/etc/zabbix/alertscripts/,脚本名字为sendSMS.sh
#!/bin/bash # 脚本的日志文件 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 ' ') http "http://xx.xx.xx.xx/sendsms?username=xxx&password=xxx&phonenumber=xxx&message=test"
# http "http://172.16.98.1/sendsms?username=smsuser&password=smspwd&phonenumber=$1&message=$3"
#测试:/etc/zabbix/alertscripts/sendSMS.sh
在命令行输入:/etc/zabbix/alertscripts/sendSMS.sh,显示如下说明脚本编写成功。
4.Web界面配置
创建媒介类型
将报警媒介添加到指定的用户
配置---动作---事件源---触发器---创建动作
消息内容参考
默认接收人
故障{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}
后面的恢复操作,更新操作配置类似
配置完成后,在仪表盘显示如下就大功告成了