开始
上篇文章介绍了Ubuntu 22.04.4 Zabbix6.4的部署和安装,成功运行Zabbix后就要考虑监测到问题发生后的告警通知问题,这次主要是结合pushplus实现微信告警,Zabbix支持通过电子邮箱、短信、自定义报警脚本、Webhook告警,如下图所示。
pushplus推送加介绍
实现步骤
1. pushplus设置
进入pushplus的官网使用微信登录,注册登录成功后。点击上方的发送消息-一对多消息
然后新建一个群组。群组编码作为群组的唯一标示,后续需要使用。其他按需填写。
创建成功之后点击群组上的查看二维码,可将二维码发给需要加入群组的同事。之后推送的消息加入群组的用户都会收的到。
在“订阅人”中可以主动的移除不想要的用户。
2. Zabbix server配置
脚本是保存在alertscripts
目录下的,使用cd /usr/lib/zabbix/alertscripts来到目标路径下,使用vi pushplus.sh 命令创建脚本文件,接着复制粘贴下面的内容,这里只需token修改成自己的token即可。
#!/bin/bash
##########################
# pushplus推送zabbix告警 #
#########################
topic=$1
title=$2
token=37fb6f66c15d41f681a028c0ac3b442b #替换自己的token
url=http://www.pushplus.plus/send #pushplus
json="{\"token\": \"$token\", \"title\": \"$title\", \"content\": \"$3\", \"template\": \"html\", \"topic\": \"$topic\"}"
curl -H "Content-Type: application/json" -X POST -d "$json" $url
修改完,保存退出,留待后用。
3. zabbix web端设置
a. 创建媒介类型
登录zabbix web端点击管理–媒介=–创建媒介类型
依次添加 {ALERT.SENDTO} {ALERT.SUBJECT} {ALERT.MESSAGE}参数,然后点击更新按钮,完成媒介的创建。
b. 添加动作
点击动作,触发器动作,按需填入名称和选择条件,如下图所示
配置故障后、需要告警通知的用户和用户组,并自定义消息主题和消息内容
故障通知:{HOSTNAME1}-{TRIGGER.NAME} #主题
告警主机:{HOSTNAME1}<br> #内容
IP地址:{HOST.CONN} <br>
告警时间:{EVENT.DATE} {EVENT.TIME}(UTC)<br>
告警等级:{TRIGGER.SEVERITY}<br>
告警信息: {TRIGGER.NAME}<br>
告警项目:{TRIGGER.KEY1}<br>
问题详情:{ITEM.NAME}:{ITEM.VALUE}<br>
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
事件ID:{EVENT.ID}<br>
配置故障恢复后、需要告警通知的用户和用户组,并自定义消息主题和消息内容
恢复通知:{HOSTNAME1}-{TRIGGER.NAME}
告警主机:{HOSTNAME1}<br>
IP地址:{HOST.CONN} <br>
恢复时间:{EVENT.DATE} {EVENT.TIME}(UTC)<br>
事件等级:{TRIGGER.SEVERITY}<br>
恢复信息: {TRIGGER.NAME}<br>
恢复项目:{TRIGGER.KEY1}<br>
事件详情:{ITEM.NAME}:{ITEM.VALUE}<br>
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}<br>
事件ID:{EVENT.ID}<br>
点击更新完成配置
c. 选择用户报警媒介
选择报警媒介
这里的收件人需要填入之前在pushplus的创建群组名
微信告警通知测试
发生故障时
故障恢复时
至此,Ubuntu 22.04.4 Zabbix6.4结合pushplus实现了微信告警