Zabbix 飞书机器人告警配置

Zabbix 飞书机器人告警配置主要使用 Zabbix 原生的 Webhook 媒介类型,通过 JavaScript 脚本调用飞书机器人 API 发送告警消息。


📋 前置条件

  • Zabbix 版本 4.4.4 或更高(Webhook 功能从该版本开始支持)
  • 已创建飞书群组并添加自定义机器人

🔧 步骤一:创建飞书机器人并获取 Webhook 地址

  1. 在飞书群组中,点击 群设置 → 群机器人 → 添加机器人 → 自定义机器人

  2. 设置机器人名称和头像,完成安全设置(可选用自定义关键词或 IP 白名单)

  3. 复制生成的 Webhook 地址 ,格式类似:

    复制代码
    https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxx
  4. 建议在安全设置中添加关键词如 "Zabbix""告警",或配置服务器 IP 白名单

🔧 步骤二:Zabbix 配置 Webhook 媒介类型

  1. 登录 Zabbix Web 界面,进入 管理 → 报警媒介类型
  2. 点击右上角 创建媒介类型,按以下内容配置:
配置项 填写内容
名称 Feishu (或自定义名称)
类型 Webhook
参数 添加三个参数: • Message{ALERT.MESSAGE}Subject{ALERT.SUBJECT}To{ALERT.SENDTO} (注意:参数名称必须与脚本中使用的 params.Messageparams.Subjectparams.To 对应)
脚本 见下方 JavaScript 代码
超时时间 30s

📝 Webhook 脚本内容(飞书专用)

javascript 复制代码
try {
    // 获取传入的参数
    var params = JSON.parse(value),
        req = new HttpRequest(),
        // 飞书消息格式(文本消息)
        msg = {
            msg_type: "text",
            content: {
                text: params.Subject + "\n" + params.Message
            }
        },
        resp;

    // 设置 HTTP 请求头
    req.addHeader("Content-Type: application/json");

    // 发送 POST 请求到飞书机器人 Webhook 地址
    resp = req.post(params.To, JSON.stringify(msg));

    // 检查响应状态码
    if (req.getStatus() != 200) {
        throw "Response code: " + req.getStatus();
    }

    // 返回响应结果
    resp = JSON.parse(resp);
    return JSON.stringify(resp);
} catch (error) {
    throw "Failed with error: " + error;
}

注意 :Zabbix 5.4 以下版本中,HttpRequest 对象名可能为 CurlHttpRequest,请根据版本调整。

🔧 步骤三:配置消息模板(可选)

  1. 在媒介类型编辑页面,点击 消息模板 标签

  2. 添加 消息类型(如"问题"、"问题恢复")

  3. 自定义主题和内容,支持宏变量,例如:

    • 主题故障告警: {TRIGGER.NAME}

    • 内容

      复制代码
      主机: {HOST.NAME}
      状态: {TRIGGER.STATUS}
      严重性: {TRIGGER.SEVERITY}
      时间: {EVENT.DATE} {EVENT.TIME}
      详情: {TRIGGER.DESCRIPTION}
      当前值: {ITEM.LASTVALUE}
  4. 若不自定义,系统将使用默认的 {ALERT.SUBJECT}{ALERT.MESSAGE}

🔧 步骤四:配置用户接收告警

  1. 进入 管理 → 用户,选择需要接收告警的用户(如 Admin)
  2. 报警媒介 标签页,点击 添加
  3. 选择类型为刚创建的 Feishu
  4. 收件人 填写步骤一中复制的 飞书机器人 Webhook 地址
  5. 设置告警级别、启用时间等

🔧 步骤五:配置动作(Action)触发告警

  1. 进入 配置 → 动作 → Trigger actions ,点击 创建动作
  2. 名称:填写如"发送飞书告警"
  3. 条件:根据需要设置触发条件(如主机组、触发器级别等)
  4. 操作 标签页:
    • 点击 新增
    • 操作类型:发送消息
    • 发送到用户:选择配置了飞书媒介的用户
    • 仅送到:选择 Feishu 媒介
  5. 恢复操作 标签页同样配置,用于发送恢复通知

✅ 步骤六:测试告警

  1. 在媒介类型列表中找到刚创建的 Feishu,点击右侧 测试
  2. 在弹出的窗口中:
    • Subject 填写测试主题
    • Message 填写测试内容
    • To 填写飞书机器人 Webhook 地址
  3. 点击 测试,飞书群应收到测试消息

🧪 验证与排错

查看发送日志

  • 管理 → 报警媒介类型 选择媒介后点击 测试 可查看详细响应
  • 报表 → 动作日志 可查看告警发送历史

常见错误解决

错误 原因 解决方案
cannot read property 'subject' of undefined 未正确配置参数或参数名不匹配 检查媒介类型的 参数 配置,确保参数名为 SubjectMessageTo,并与脚本中的 params.Subject 对应
Response code: 400/403 Webhook 地址无效或安全设置问题 检查飞书机器人地址是否正确,确认安全设置(关键词/IP白名单)已配置
无响应 网络不通或超时 检查 Zabbix Server 能否访问飞书 API,可配置 HTTP 代理
相关推荐
2501_943124056 小时前
7×24小时无人值守:矩阵跃动龙虾机器人+GEO,AI流量闭环效率实测报告
人工智能·矩阵·机器人
renhongxia16 小时前
唤醒过去:利用记忆模拟机器人流动唤醒效应
人工智能·微服务·架构·机器人·知识图谱
深圳多奥智能一卡(码、脸)通系统6 小时前
一套集人员刷卡乘梯、访客临时授权、高峰运力优化、VIP尊享服务、机器人全自动乘梯于一体的先进电梯控制系统,真正实现“人机共用、运力智能、体验卓越”
机器人·agv·机器狗·门禁·电梯门禁·梯控·amr
ryrhhhh6 小时前
从0到1搭建AI流量闭环:矩阵跃动龙虾机器人+GEO的技术选型与实操指南
人工智能·矩阵·机器人
鲁邦通物联网6 小时前
工业架构实战:特种巡检机器人梯控在化工防爆环境下的安全解耦策略
机器人·巡检机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·巡检机器人梯控
军哥全栈AI6 小时前
OpenClaw配置 GLM-4.7 Flash+DuckDuckGo 实现飞书机器人联网问答
飞书·openclaw
!沧海@一粟!13 小时前
麒麟Zabbix Agent安装配置全攻略
linux·服务器·zabbix
Deepoch1 天前
Deepoc具身模型开发板:让无人机告别遥控器的智能“声控中枢”
机器人·无人机·开发板·具身模型·deepoc
SLAM必须dunk1 天前
四足机器人---柔顺步态控制 + 安全人机交互 + sim2real 虚实迁移
机器人·人机交互