Zabbix添加报警脚本

概述

当Zabbix报警时,通过脚本进行报警,实现消息实时推送的目的。

步骤

本案例为API消息推送至企业微信。已在系统中配置好推送应用。

1、制作Python脚本,实现将消息推送至服务器中。将脚本文件放至/usr/share/zabbix/alertscripts或/usr/lib/zabbix/alertscripts中,脚本测试时,可以看出脚本是否在目录中。

image

2、在Zabbix添加报警媒介

image

image

3、配置消息推送动作

image

image

image

image

image

image

主题:
{HOST.NAME}产生告警!
消息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image

image

主题:
{HOST.NAME}恢复正常
消息:
恢复主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

image

image

image

image

备注

更新报警内容格式:

告警:

可以通过设置步骤持续时间来实现报警未恢复之前多久报警一次,按秒计算。

image

【告警项目】: 打怪兽
【告警主机】: {HOST.IP}
【告警时间】: {EVENT.DATE} {EVENT.TIME}
【告警等级】: {TRIGGER.SEVERITY}
【告警项目】: {TRIGGER.KEY1}
【问题详情】: {ITEM.NAME}  {ITEM.VALUE}
【当前状态】: {TRIGGER.STATUS}  {ITEM.VALUE1} 故障
【事  件  ID】: {EVENT.ID}

恢复:

【恢复项目】: 打怪兽
【恢复主机】: {HOST.IP}
【告警时间】: {EVENT.DATE} {EVENT.TIME}
【恢复时间】: {EVENT.DATE} {EVENT.RECOVERY.TIME}
【恢复等级】: {TRIGGER.SEVERITY}
【恢复项目】: {TRIGGER.KEY1}
【问题恢复】: {ITEM.NAME}  {ITEM.VALUE}
【当前状态】: {TRIGGER.STATUS}  {ITEM.VALUE1} 恢复
【事 件 ID】: {EVENT.ID}

2021年3月13日22:22:47

THE END