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.Message、params.Subject、params.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 未正确配置参数或参数名不匹配 检查媒介类型的 参数 配置,确保参数名为 Subject、Message、To,并与脚本中的 params.Subject 对应
Response code: 400/403 Webhook 地址无效或安全设置问题 检查飞书机器人地址是否正确,确认安全设置(关键词/IP白名单)已配置
无响应 网络不通或超时 检查 Zabbix Server 能否访问飞书 API,可配置 HTTP 代理
相关推荐
2601_952047794 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
Jason_zhao_MR6 小时前
Linux与实时控制如何兼得
linux·嵌入式硬件·机器人·工业控制
进击的雷神12 小时前
把 Claude/GPT 接进飞书、Telegram、Discord:一条命令跑起来的 OpenClaw 部署工具
gpt·飞书·openclaw
田里的水稻14 小时前
EI_策略训练--机器人策略训练的神经网络种类一
人工智能·神经网络·机器人
云智慧AIOps社区17 小时前
云智慧智能巡检机器人矩阵亮相:三款产品场景与能力拆解
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·双轮足机器人·四轮足机器人
xwz小王子18 小时前
视触觉传感器:让机器人真正“摸”到世界
机器人
海盗123419 小时前
微软技术日报 2026-10-08:Windows 给智能体立沙箱,Surface 换上 NVIDIA 芯
人工智能·windows·microsoft·机器人·aigc
鲁邦通物联网20 小时前
机器人项目技术标怎么写?机器人梯控架构、调度与验收设计
机器人·巡检机器人·机器人梯控·agv梯控·非侵入式采集·机器人乘梯·机器人自主乘梯
硅谷秋水20 小时前
将物理先验嵌入机器人学习:综述
人工智能·深度学习·机器学习·语言模型·机器人
黑妹天下第一乖1 天前
第09讲 · 多媒体与音频 SDK:硬件编解码与端侧语音
人工智能·嵌入式硬件·深度学习·机器人·音视频·iot