Zabbix 使用 PushPlus 向个人微信推送告警信息
PushPlus(推送加)
PushPlus(推送加),是一个集成了微信、企业微信、钉钉、飞书等实时消息推送平台。只需要调用简单的API,即可帮您迅速完成消息的推送,使用简单方便。
测试平台
两台均使用CentOS 8.2的主机,分别部署Zabbix服务端和客户端,外加一台PC进行配置。
创建PushPlus账户
访问PushPlus官网:https://pushplus.plus ,单击登录。
依照提示,微信扫码登录。
登录完成,单击一对多推送
在创建的群组区域,单击新增群组。
依照提示,分别输入编码(可以理解为ID,不建议用中文)、名称、联系方式和简介,确认无误单击确认。
可以看到已经创建Zabbix告警的群组。
此时单击查看二维码,使用个人微信扫描即可。
订阅后,可以在订阅人列表查看用户信息。
之后,你需要记录 token
和群组编号
,以便下一步启用Zabbix告警的操作。
配置Zabbix服务端
使用vi编辑器,在/usr/lib/zabbix/alertscripts
目录下创建名为pushplus.sh
的脚本文件,内容如下。
1 |
|
随后为该脚本文件赋予执行权限,即 chmod +x /usr/lib/zabbix/alertscripts/pushplus.sh
。
要测试脚本,可执行 sh /usr/lib/zabbix/alertscripts/pushplus.sh [群组编号] [标题] [内容]
命令,若提示请求成功
,则已关注该群组的个人微信上也应能收到消息。
发送测试信息
在个人微信上收到测试信息
配置Zabbix网页端
创建媒介类型
浏览器访问Zabbix的网页控制台,进入管理-报警媒介类型页面,单击创建媒介类型。
根据提示,输入名称PushPlus推送加_微信告警
,类型为脚本
,脚本名称为 pushplus.sh
(与服务端创建的名称对应),脚本参数分别添加 {ALERT.SENDTO}
、 {ALERT.SUBJECT}
、 {ALERT.MESSAGE}
,随后单击添加。
在此处可以看到已经创建好的报警媒介。
创建动作
在Zabbix网页端,进入配置-动作页面,单击创建动作。
根据提示,输入名称(此处为对主机启用微信推送告警信息
),设置新的触发条件为 主机 等于 Node2
,随后单击操作选项。
根据提示,添加用户群组为 Zabbix administrators
,添加用户为 Admin (Zabbix Administrator)
,设置仅送到 PushPlus推送加_微信告警
,单击操作细节处左下角的添加。
默认标题
1 | 故障通知:{TRIGGER.STATUS},服务器:{HOSTNAME1},发生:{TRIGGER.NAME}故障! |
消息内容
1 | 告警主机:{HOSTNAME1} |
默认标题
1 | 故障解除:{TRIGGER.STATUS},服务器:{HOSTNAME1},发生:{TRIGGER.NAME}已恢复! |
消息内容
1 | 告警主机:{HOSTNAME1} |
默认标题
1 | 事件更新:{EVENT.NAME} |
消息内容
1 | 用户:{USER.FULLNAME} |
💡提示
可以修改默认标题和消息内容
此时可以看到已添加好的操作。
接着重复上述过程,分别配置故障解除、信息更新操作。
随后单击左下角的添加,该动作添加完成。
配置报警媒介
单击右上角中间的人仔图标,进入用户基本资料界面,单击报警媒介选项。
在报警媒介,单击添加。在此页面中,设置类型为PushPlus推送加_微信告警
,收件人为你在PushPlus创建的群组编号
(本文为 zabbixMayday
),随后单击更新。
效果验证
触发Node2的警报(事先设置了当Nginx服务关闭时,自动触发警报)。
稍等片刻,便会收到微信告警。
告警详情如下图所示