10分钟搞定Zabbix监控平台告警推送到钉钉群
Zabbix的安装与部署可以参考之前的文章
以及钉钉机器人的创建不再详细描述
1、下载并安装PrometheusAlert
https://github.com/feiyu563/PrometheusAlert mkdir /opt/PrometheusAlert unzip PrometheusAlertLinux.zip -d /opt/PrometheusAlert/ cd /opt/PrometheusAlert/ cp zabbix /usr/lib/zabbix/alertscripts/zabbixclient chmod 755 /usr/lib/zabbix/alertscripts/zabbixclient chown zabbix:zabbix /usr/lib/zabbix/alertscripts/zabbixclient /usr/lib/zabbix/alertscripts/zabbixclient -h
设置PrometheusAlert开机自启动
vi /etc/rc.local 加入如下一行 nohup /opt/PrometheusAlert/PrometheusAlert & chmod +x /etc/rc.d/rc.local 然后手动启动PrometheusAlert nohup /opt/PrometheusAlert/PrometheusAlert & firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload
2、修改触发器显示选项
用表情符号显示,是为了让告警更直观
3、Zabbix上创建告警媒介类型
类型为脚本
相关参数参考PrometheusAlert官方文档进行填写
创建后可以先测试一下机器人
4、添加用户
例如yuanfan
告警媒介选上一步创建的PrometheusAlert类型
5、配置触发器动作中消息模板
- 先配置触发器动作
- 操作——操作细节——消息模板如下
## [Zabbix平台告警信息](https://zabbix.walkingcloud.cn) -------------------------------------------------------- ##### <font color="#FF0000">{TRIGGER.NAME} </font> -------------------------------------------------------- ##### <font color="#FF0000">【故障发生时间】</font>:{EVENT.DATE} {EVENT.TIME} ##### <font color="#FF0000">【告警级别】</font>:{TRIGGER.SEVERITY} ##### <font color="#FF0000">【故障前状态】</font>:{ITEM.LASTVALUE} ##### <font color="#FF0000">【故障事件ID】</font>:{EVENT.ID} ##### <font color="#FF0000">【故障主机IP】</font>:{HOST.IP} ##### <font color="#FF0000">【故障主机名】</font>:{HOST.NAME} ##### <font color="#FF0000">【故障时长】</font>:{EVENT.AGE} ##### <font color="#FF0000">【故障是否确认】</font>:{EVENT.ACK.STATUS} -------------------------------------------------------- ##### <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>
- 恢复操作——操作细节——消息模板如下
## [Zabbix监控平台告警信息](https://zabbix.walkingcloud.cn) -------------------------------------------------------- ##### <font color="#67C23A">{TRIGGER.NAME} 已经恢复 </font>✅ -------------------------------------------------------- ##### <font color="#02b340">【故障恢复时间】</font>:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} ##### <font color="#02b340">【告警级别】</font>:{TRIGGER.SEVERITY} ##### <font color="#02b340">【故障前状态】</font>:{ITEM.LASTVALUE} ##### <font color="#02b340">【故障主机IP】</font>:{HOST.IP} ##### <font color="#02b340">【故障主机名】</font>:{HOST.NAME} ##### <font color="#02b340">【故障时长】</font>:{EVENT.AGE} ##### <font color="#02b340">【故障是否确认】</font>:{EVENT.ACK.STATUS} -------------------------------------------------------- ##### <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>
- 更新操作——操作细节——消息模板如下
## [Zabbix监控平台告警信息](https://zabbix.walkingcloud.cn) -------------------------------------------------------- ##### <font color="#67C23A"> {USER.FULLNAME} 已经确认故障原因 </font> -------------------------------------------------------- ##### <font color="#FF0000">【故障确认时间】</font>:{ACK.DATE} {ACK.TIME} ##### <font color="#FF0000">【告警级别】</font>:{TRIGGER.SEVERITY} ##### <font color="#FF0000">【故障前状态】</font>:{ITEM.LASTVALUE} ##### <font color="#FF0000">【故障主机IP】</font>:{HOST.IP} ##### <font color="#FF0000">【故障主机名】</font>:{HOST.NAME} ##### <font color="#FF0000">【故障时长】</font>:{EVENT.AGE} ##### <font color="#FF0000">【故障原因】</font>:{ACK.MESSAGE} ##### <font color="#FF0000">【故障是否确认】</font>:{EVENT.ACK.STATUS}✅ -------------------------------------------------------- ##### <font color="#F56C6C">事件状态:{EVENT.STATUS}</font>
6、触发告警及效果展示
例如192.168.31.127上/boot分区写满测试
dd if=/dev/zero of=/boot/test.iso count=1 bs=1024M df -PTh
web界面上确认故障时的效果
(图片可点击放大查看)
告警恢复时钉钉告警效果