目录

一、Zabbix 7.0 邮件报警

1. 准备邮箱 SMTP 信息(以 QQ/163 / 企业邮箱为例)

2. Web 端配置报警媒介(Email)

3. 配置用户接收邮箱

4. 配置触发器动作(触发→发邮件)

5. 测试与排错

二、Zabbix 7.0 企业微信告警(Webhook 机器人,7.0 原生支持)

1. 企业微信创建群机器人,获取 Webhook

2. Zabbix 7.0 配置 Webhook 报警媒介(核心)

3. 配置用户接收媒介

4. 配置触发器动作(同邮件)

5. 测试与排错

三、Zabbix 7.0 关键注意事项


一、Zabbix 7.0 邮件报警

1. 准备邮箱 SMTP 信息(以 QQ/163 / 企业邮箱为例)

开启 SMTP、获取授权码(非登录密码)

  • QQ 邮箱:smtp.qq.com,端口 465 (SSL)、587 (STARTTLS),授权码在「设置→账户→POP3/IMAP/SMTP 服务」
  • 163 邮箱:smtp.163.com,端口 465 (SSL),授权码在「设置→POP3/SMTP/IMAP」
  • 企业邮箱:按服务商提供的 SMTP 地址、端口、授权码

2. Web 端配置报警媒介(Email)

路径:管理 → 报警媒介类型 → 找到默认 Email → 编辑(7.0 界面路径:告警 → 媒介)

  • 类型:电子邮件
  • 邮件提供商:Generic SMTP(通用 SMTP)
  • SMTP 服务器:smtp.qq.com / smtp.163.com
  • SMTP 服务器端口:465(SSL)/ 587(STARTTLS)
  • 连接安全:SSL/TLS(对应 465)或 STARTTLS(对应 587)
  • SMTP HELO:zabbix-server(自定义,可留空)
  • 发件人邮箱:你的发件邮箱(xxx@qq.com)
  • 身份验证:勾选,用户名 = 发件邮箱,密码 =SMTP 授权码
  • 消息格式:HTML(可选,美化告警)
  • 保存更新

3. 配置用户接收邮箱

路径:管理 → 用户 → 选择 Admin → 媒体 → 添加

  • 类型:Email
  • 发送到:你的收件邮箱
  • 启用:勾选,设置告警级别(如严重 / 警告)、时间范围
  • 更新保存

4. 配置触发器动作(触发→发邮件)

路径:配置 → 动作 → 触发器动作 → 创建动作(7.0:告警 → 动作)

  1. 动作选项:名称 = 邮件告警,启用
  2. 条件:默认(所有触发器),可加过滤(如严重性≥警告)
  3. 操作(故障通知):

    步骤:1-1,步骤持续 60s
    操作细节:发送到用户组(管理员),仅发送到:Email
    消息模板(直接复制):

    【Zabbix告警】{TRIGGER.STATUS}
    主机:{HOST.NAME} ({HOST.IP})
    时间:{EVENT.DATE} {EVENT.TIME}
    级别:{TRIGGER.SEVERITY}
    告警:{TRIGGER.NAME}
    状态:{TRIGGER.STATUS}
    事件ID:{EVENT.ID}
  4. 恢复操作(故障恢复):同理配置恢复通知模板
  5. 保存并启用动作

5. 测试与排错

  • 手动触发测试(如停止 zabbix-agent),查看:监测 → 告警
  • 日志排查:tail -f /var/log/zabbix/zabbix_server.log
  • 防火墙放行 465/587,确保 Zabbix Server 能访问 SMTP 服务器

二、Zabbix 7.0 企业微信告警(Webhook 机器人,7.0 原生支持)

1. 企业微信创建群机器人,获取 Webhook

  • 企业微信 PC 端 → 新建告警群 → 右上角 “...” → 添加群机器人 → 新建(命名 Zabbix 告警)
  • 复制 Webhook 地址(格式:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx),保存 key

2. Zabbix 7.0 配置 Webhook 报警媒介(核心)

路径:管理 → 报警媒介类型 → 创建媒体类型(7.0:告警 → 媒介 → 创建)

  • 名称:企业微信机器人
  • 类型:Webhook(7.0 原生支持,无需脚本文件)
  • 参数(添加 4 个,顺序固定):
    参数名
    webhook_url 你的完整 Webhook 地址
    subject {ALERT.SUBJECT}
    message {ALERT.MESSAGE}
    at_mobile {ALERT.SENDTO}(@成员手机号)
  • 脚本(直接粘贴,7.0 兼容 JS,markdown 格式):
    try {
        var params = JSON.parse(value);
        var webhook = params.webhook_url;
        var subject = params.subject || "Zabbix告警";
        var msg = params.message || "无内容";
        var at = params.at_mobile || "";
        
        // 构造markdown消息
        var content = "### " + subject + "\n" + msg;
        if (at) {
            content += "\n<@" + at + ">";
        }
        
        var req = new HttpRequest();
        req.addHeader("Content-Type", "application/json");
        var data = {
            "msgtype": "markdown",
            "markdown": {"content": content}
        };
        var resp = req.post(webhook, JSON.stringify(data));
        return "OK: " + resp;
    } catch (e) {
        return "ERROR: " + e.toString();
    }
  • 保存更新

3. 配置用户接收媒介

路径:管理 → 用户 → 选择用户 → 媒体 → 添加

  • 类型:企业微信机器人
  • 发送到:要 @的成员手机号(如 13800138000,留空则不 @)
  • 启用、设置级别与时间 → 保存

4. 配置触发器动作(同邮件)

  • 操作:发送到用户 / 组,仅发送到:企业微信机器人
  • 消息模板(markdown,企微支持,直接复制):
    **⚠️ Zabbix告警**
    **主机**:{HOST.NAME}
    **IP**:{HOST.IP}
    **时间**:{EVENT.DATE} {EVENT.TIME}
    **级别**:{TRIGGER.SEVERITY}
    **告警**:{TRIGGER.NAME}
    **状态**:{TRIGGER.STATUS}
    **事件ID**:{EVENT.ID}
  • 恢复模板同理,保存启用

5. 测试与排错

  • 触发测试触发器,查看企业微信群是否收到 markdown 告警
  • 排错:检查 Webhook key 正确、Zabbix 能访问qyapi.weixin.qq.com、脚本无语法错误、动作已启用

三、Zabbix 7.0 关键注意事项

  1. 7.0 界面路径:告警(原配置 / 管理)→ 媒介、动作,不要找错入口
  2. Webhook 是 7.0 原生能力,无需在服务器写 Python/Shell 脚本,直接在 Web 端写 JS 即可
  3. 邮件 / 企微都要在「动作」里关联触发器,否则不会发送
  4. 日志路径:/var/log/zabbix/zabbix_server.log,排查发送失败必看
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐