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 代理
相关推荐
搞科研的小刘选手11 小时前
【中国机械工程学会、河海大学主办 | 江苏常州举办】第八届机器人与智能制造技术国际会议 (ISRIMT 2026)
机器人·学术会议·会议推荐·智能制造技术·河海大学
拓维运动科技12 小时前
机器人步态调试平台:从户外“盲测”到室内标准化验证的技术路径
机器人·六自由度运动模拟平台·六自由度定制厂家·南京拓维运动科技·六自由度非标定制·机器人步态调试平台
机器人猎头David12 小时前
机器人猎头公司(倍利福猎头公司)案例分享
人工智能·机器人·招聘·具身智能·人形机器人·猎头公司·机器人猎头公司
海盗123413 小时前
AI新闻日报_2026-08-27—— Qwen4/GLM-5.3-Flash 开源、OpenAI Agent 越狱事件、世界人形机器人运动会
人工智能·机器人·开源
猫先生Mr.Mao14 小时前
具身智能开放策略之Octo详解:开放策略如何把多机器人经验变成可微调的通用底座
机器人·论文解读·具身智能·通用机器人策略·octo
星云API技术支持16 小时前
企业微信二次开发:外部群机器人如何把群消息接入工单系统?
机器人·企业微信
星云API技术支持。17 小时前
企业微信二次开发:外部群机器人,从群消息到业务系统如何打通?
机器人·企业微信
AI科技先锋报18 小时前
如何为陪伴机器人搭建自然的对话式 AI?技术链路与声网方案怎么选?
人工智能·机器人·语音识别
CES_asd18 小时前
2027赛逸展聚焦工业场景,加速机器人产线落地应用
机器人
沫儿笙18 小时前
焊接机器人节气系统
人工智能·机器人