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}
最终结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗