Zabbix 推送告警 消息模板 美化(钉钉Webhook机器人、邮件)

目前网络上已经有很多关于Zabbix如何推送告警信息到钉钉机器人、到邮件等文章。

但是在搜索下来,发现缺少了对告警信息的美化的文章。

本文不赘述如何对Zabbix对接钉钉、对接邮件,仅介绍我采用的美化消息模板的内容。

活用AI工具可以减轻很多学习、脑力负担。本文采用了与deepSeek、Chatgpt-4o两款模型对话,最后给出了如下的美化内容。

环境

Zabbix 7.0

邮箱 163.com

钉钉 Webhook

钉钉Webhook机器人

markdown格式可以被识别

linux与windows的差异吧,必须每行中间多一个换行

问题

json 复制代码
### ⚠️ Zabbix 告警通知 - 问题触发

**告警名称**: {EVENT.NAME}

**主机名称**: {HOST.NAME}

**主机 IP**: {HOST.IP}

**告警时间**: {EVENT.DATE} {EVENT.TIME}

**告警级别**: <font color='red'>{TRIGGER.SEVERITY}</font>

**当前状态**: <font color='red'>告警中</font>

**告警详情**: {ITEM.VALUE}

**触发条件**: {TRIGGER.EXPRESSION}

**事件 ID**: {EVENT.ID}

请及时处理此告警。

问题恢复

javascript 复制代码
### ✅ Zabbix 告警通知 - 问题恢复

**告警名称**: {EVENT.NAME}

**主机名称**: {HOST.NAME}

**主机 IP**: {HOST.IP}

**恢复时间**: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

**告警级别**: <font color='green'>{TRIGGER.SEVERITY}</font>

**当前状态**: <font color='green'>已恢复</font>

**恢复详情**: {ITEM.VALUE}

**触发条件**: {TRIGGER.EXPRESSION}

**事件 ID**: {EVENT.ID}

问题已恢复,请确认系统状态。

效果


邮件告警

这里美化采用的是HTML,所以在报警媒介类型中,将消息格式改为HTML

问题

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Zabbix 告警通知 - 问题触发</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        .alert {
            background-color: #FFCCCC; /* 告警背景色 */
            padding: 10px;
            border-radius: 5px;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        th, td {
            padding: 8px;
            text-align: left;
            border-bottom: 1px solid #ddd;
        }
        th {
            background-color: #f2f2f2;
        }
    </style>
</head>
<body>

    <div class="alert">
        <h2>⚠️ 告警通知 - 问题触发</h2>
    </div>

    <table>
        <tr>
            <th>项目</th>
            <th>详情</th>
        </tr>
        <tr>
            <td>告警名称</td>
            <td>{EVENT.NAME}</td>
        </tr>
        <tr>
            <td>主机名称</td>
            <td>{HOST.NAME}</td>
        </tr>
        <tr>
            <td>主机 IP</td>
            <td>{HOST.IP}</td>
        </tr>
        <tr>
            <td>告警时间</td>
            <td>{EVENT.DATE} {EVENT.TIME}</td>
        </tr>
        <tr>
            <td>告警级别</td>
            <td>{TRIGGER.SEVERITY}</td>
        </tr>
        <tr>
            <td>当前状态</td>
            <td>告警中</td>
        </tr>
        <tr>
            <td>告警详情</td>
            <td>{ITEM.VALUE}</td>
        </tr>
        <tr>
            <td>触发条件</td>
            <td>{TRIGGER.EXPRESSION}</td>
        </tr>
        <tr>
            <td>事件 ID</td>
            <td>{EVENT.ID}</td>
        </tr>
    </table>

    <p>请及时处理此告警。</p>

</body>
</html>

问题恢复

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>Zabbix 告警通知 - 问题恢复</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        .recovery {
            background-color: #CCFFCC; /* 恢复背景色 */
            padding: 10px;
            border-radius: 5px;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 10px;
        }
        th, td {
            padding: 8px;
            text-align: left;
            border-bottom: 1px solid #ddd;
        }
        th {
            background-color: #f2f2f2;
        }
    </style>
</head>
<body>

    <div class="recovery">
        <h2>✅ 告警通知 - 问题恢复</h2>
    </div>

    <table>
        <tr>
            <th>项目</th>
            <th>详情</th>
        </tr>
        <tr>
            <td>告警名称</td>
            <td>{EVENT.NAME}</td>
        </tr>
        <tr>
            <td>主机名称</td>
            <td>{HOST.NAME}</td>
        </tr>
        <tr>
            <td>主机 IP</td>
            <td>{HOST.IP}</td>
        </tr>
        <tr>
            <td>恢复时间</td>
            <td>{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}</td>
        </tr>
        <tr>
            <td>告警级别</td>
            <td>{TRIGGER.SEVERITY}</td>
        </tr>
        <tr>
            <td>当前状态</td>
            <td>已恢复</td>
        </tr>
        <tr>
            <td>恢复详情</td>
            <td>{ITEM.VALUE}</td>
        </tr>
        <tr>
            <td>触发条件</td>
            <td>{TRIGGER.EXPRESSION}</td>
        </tr>
        <tr>
            <td>事件 ID</td>
            <td>{EVENT.ID}</td>
        </tr>
    </table>

    <p>问题已恢复,请确认系统状态。</p>

</body>
</html>

效果


相关推荐
zzzzzz3105 天前
假如我是掘金管理员,我先给评论区装个'代码审查'系统
python·程序员·机器人
通信小呆呆6 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
生成论实验室6 天前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构
yyxx4121236 天前
上海企业如何选择专业的钉钉服务商
java·大数据·人工智能·钉钉
Dick5076 天前
ROS2 常用命令表
人工智能·学习·算法·机器人
沫儿笙6 天前
川崎机器人二保焊节气设备
人工智能·机器人
C++ 老炮儿的技术栈6 天前
Qt工控实战:自研机器人TCP长连接客户端(粘包处理+心跳保活+自动重连完整源码解析)
qt·tcp/ip·机器人
Deepoch6 天前
VLA多模态架构加持 采摘机器人实现精细化智能采收
人工智能·机器人·开发板·具身模型·deepoc·采摘
选与握6 天前
$\pi_{0.7}$: 一个具备涌现能力的可引导的通用机器人基础模型
机器人·vla·pi07