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

news/2025/2/3 8:26:48 标签: zabbix, 钉钉, 机器人

目前网络上已经有很多关于Zabbix如何推送告警信息到钉钉机器人、到邮件等文章。
但是在搜索下来,发现缺少了对告警信息的美化的文章。
本文不赘述如何对Zabbix对接钉钉、对接邮件,仅介绍我采用的美化消息模板的内容。

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

环境

Zabbix 7.0
邮箱 163.com
钉钉 Webhook

钉钉Webhook机器人

在这里插入图片描述

markdown格式可以被识别
linux与windows的差异吧,必须每行中间多一个换行

问题

### ⚠️ 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}

请及时处理此告警。

问题恢复

### ✅ 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

在这里插入图片描述

问题

<!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>

问题恢复

<!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>

效果

在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/5840643.html

相关文章

【爬虫】JS逆向解决某药的商品价格加密

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…

更高效地使用Adobe软件,提升创作质量

在现代教育环境中&#xff0c;拥有一个edu教育邮箱不仅可以为学生提供多种学习资源&#xff0c;还能享受许多软件的免费使用权。相比于使用存在安全隐患的破解版软件&#xff0c;建议大家通过正规渠道获取edu邮箱&#xff0c;以便合法使用Adobe系列软件等工具。获取edu邮箱的方…

在C++中,成员变量必须在对象构造完成前初始化,但初始化的方式有多种...

在C中&#xff0c;成员变量必须在对象构造完成前初始化&#xff0c;但初始化的方式可以有多种&#xff0c;具体取决于成员变量的类型和设计需求。以下是C中成员变量初始化的规则和相关机制&#xff1a; 1. 成员变量必须初始化 如果成员变量是基本类型&#xff08;如 int、doub…

UE5 蓝图学习计划 - Day 7:摄像机与视角控制

在游戏开发中&#xff0c;摄像机视角 是玩家与游戏互动的关键环节。Unreal Engine 5 提供了多种方式来设置摄像机&#xff0c;包括第一人称视角、第三人称视角&#xff0c;以及动态跟随摄像机。在本篇文章中&#xff0c;我们将学习如何在角色蓝图中添加摄像机组件&#xff0c;实…

力扣动态规划-18【算法学习day.112】

前言 ###我做这类文章一个重要的目的还是记录自己的学习过程&#xff0c;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非常非常高滴&#xff01;&#xff01;&#xff01; 习题 1.下降路径最小和 题目链接:931. …

【Linux系统】信号:信号保存 / 信号处理、内核态 / 用户态、操作系统运行原理(中断)

理解Linux系统内进程信号的整个流程可分为&#xff1a; 信号产生 信号保存 信号处理 上篇文章重点讲解了 信号的产生&#xff0c;本文会讲解信号的保存和信号处理相关的概念和操作&#xff1a; 两种信号默认处理 1、信号处理之忽略 ::signal(2, SIG_IGN); // ignore: 忽略#…

线性数据结构:单向链表

放弃眼高手低&#xff0c;你真正投入学习&#xff0c;会因为找到一个新方法产生成就感&#xff0c;学习不仅是片面的记单词、学高数......只要是提升自己的过程&#xff0c;探索到了未知&#xff0c;就是学习。 目录 一.链表的理解 二.链表的分类&#xff08;重点理解&#xf…

浅谈知识蒸馏技术

最近爆火的DeepSeek 技术&#xff0c;将知识蒸馏技术运用推到我们面前。今天就简单介绍一下知识蒸馏技术并附上python示例代码。 知识蒸馏&#xff08;Knowledge Distillation&#xff09;是一种模型压缩技术&#xff0c;它的核心思想是将一个大型的、复杂的教师模型&#xff0…