zabbix监控告警通知配置

zabbix告警通知是zabbix触发告警时候执行脚本,通过传参获取报警具体信息,再由脚本调用相关接口给用户组及用户发送通知的过程

zabbix服务端有脚本的存放路径,默认路径为 /usr/lib/zabbix/alertscripts,以下脚本内容仅供参考

#!/bin/bash
export LANG=en_US.UTF-8

#PHONE=$(echo $1 |sed 's/,/",\n"/g')

Subject=`echo -e "$3" |awk 'NR==3 {print $0}'`
#定义主题,页面配置的第二个参数可直接写$2,一下是根据公司要求,所以变动了一下
MESSAGE=$3
#页面配置的第三个参数,主要是报警内容        

echo $1 $2 $3 >>/tmp/sms.log    
curl -H "xxxxxxxxxx"    \
     -H "xxxxxxxxxxxxxx"    \
     -XPOST 消息转发的接口地址 -d """
     {
     \"applicationId\":\"xxxxxxxxxxx\",
     \"topic\":\"devops\",
     \"expireTime\":1000,
     \"dev\":false,
     \"msgType\":true,
     \"notify\":true
     \"messageBody\":\"{'alertBody':'"devops-prod"','alertTitle':'$Subject','data':'$MESSAGE'}\"
     }
echo $? >/tmp/sendsms.log

curl中定义的内容是由消息平台提供给和决定的

接下来是web页面配置:

1)创建报警媒介类型

定义的脚本参数就是出发报警时候执行脚本要传进去的参数,$1,$2,$3 分别对用手机号等信息,主题,具体内容(动作的操作中定义获取)

2)配置用户报警媒介

3)创建报警触发动作

配置消息内容,发送的用户群组及用户等

更新保存退出,测试出发报警是否成功

附:消息内容定义 

1 生产环境zabbix告警!!!\n告警主机:{HOST.IP}\n告警信息:{TRIGGER.NAME}\n告警项目:{TRIGGER.KEY1}\n问题详情:{ITEM.NAME}:{ITEM.VALUE}\n告警时间:{EVENT.DATE} {EVENT.TIME}\n告警等级:{TRIGGER.SEVERITY}\n当前状态:{TRIGGER.STATUS} : {ITEM.VALUE}\n事件ID:{EVENT.ID}
2 
3 
4 生产环境zabbix告警恢复\n恢复主机:{HOST.IP}\n恢复信息:{TRIGGER.NAME}\n恢复详情:{ITEM.NAME}:{ITEM.VALUE}\n恢复时间:{EVENT.DATE} {EVENT.RECOVERY.TIME}\n恢复等级:{TRIGGER.SEVERITY}\n时间ID:{EVENT.ID}

最终结果如下:

 

posted @ 2020-11-14 12:06  太阳的阳ฅ  阅读(496)  评论(0编辑  收藏  举报