Skip to content

集成 Webhook 告警

EMQX Broker 支持基于 Webhook 的告警集成,可将告警事件转发至第三方事件管理平台,或发送到您自定义的服务。

您可以使用测试功能发送一条示例告警,用于验证 Webhook 是否配置正确。

目前,EMQX 支持以下 Webhook 集成类型:

  • 企业微信
  • 钉钉
  • 飞书
  • Slack
  • Zenduty
  • FlashDuty
  • 通用 Webhook(自定义服务)

发送告警到企业微信

  1. 在企业微信群中创建机器人(需要是群主身份才能创建), 选择 添加群机器人 -> 新创建一个机器人 -> 添加机器人。详细请参考群机器人配置说明add-wechat-robot

  2. 完成微信机器人的创建,复制链接。 wechat-robot-webhook

  3. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  4. 添加 Webhook 集成 对话框中,选择企业微信,并填入告警名称和 Webhook 请求地址,点击确认完成配置。

    add-wechat-alert
  5. 验证配置。可以通过测试功能,选择配置好的 Webhook 告警,即可发送默认消息检测是否配置成功。 verify-alert

发送告警到钉钉

  1. 在钉钉中创建 Webhook 机器人,请参考官方文档创建。

  2. 复制机器人的 Webhook 地址。

  3. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  4. 添加 Webhook 集成对话框中,选择钉钉,并填入告警名称和 Webhook 请求地址,点击确认完成配置。

add-ding-talk-alert
  1. 钉钉需要安全设置中定义自定义关键词 ,建议将关键词设置为: EMQ 或者告警

  2. 验证配置。可以通过测试功能,选择配置好的 Webhook 告警,即可发送默认消息检测是否配置成功。

发送告警到飞书

  1. 在飞书中创建 Webhook 机器人指令,请参考官方文档创建。

    • 添加 Webhook 触发器,参数填写如下:

      json
       {
         "subject": "",
         "message": ""
       }
      config feishu webhook
    • 添加通过官方机器人发消息的操作,消息标题选择 Webhook 触发 - subject消息内容选择 Webhook 触发 - message

      config feishu message
  2. 复制指令中的 Webhook 地址。

  3. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  4. 添加 Webhook 集成 对话框中,选择飞书,并填入告警名称和 Webhook 请求地址,点击确认完成配置。

  5. 验证配置。可以通过测试功能,选择配置好的 Webhook 告警,即可发送默认消息检测是否配置成功。

    verify feishu alert

发送告警到 Slack

  1. 在 Slack 创建 Webhook,获取 Webhook URL 地址。更多信息,请参见 Sending messages using Incoming Webhooks

  2. 复制 Webhook API 地址。

  3. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  4. 添加 Webhook 集成对话框中,选择Slack,并填入告警名称和 Webhook 请求地址,点击确认完成配置。

    add slack alert
  5. 验证配置。可以通过测试功能,选择配置好的 Webhook 告警,即可发送默认消息检测是否配置成功。

发送告警到 Zenduty

Zenduty 是一款事件管理和轮值(On-call)平台。EMQX 支持通过专用的 Zenduty Webhook 类型,将告警直接发送至 Zenduty。

  1. 在 Zenduty 中创建一个服务并获取 Webhook URL。

    在 Zenduty 中,告警始终与服务关联。登录 Zenduty 控制台,为 EMQX 创建一个新的服务,并为该服务启用 Webhook 集成以生成 Webhook URL。

    更多信息请参见:在 Zenduty 中添加新服务

  2. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  3. 添加 Webhook 集成对话框中,选择Zenduty,并填入告警名称和 Webhook 请求地址,点击确认完成配置。

  4. 点击测试按钮发送一条测试告警,验证 Zenduty 中是否成功创建对应的事件。

发送告警到 FlashDuty

FlashDuty 是一款事件响应和 On-call 管理平台。EMQX 提供了内置的 FlashDuty Webhook 类型,便于快速集成。

  1. FlashDuty 中创建告警集成,并复制生成的 Webhook URL。 详细说明请参见:FlashDuty On-call 快速入门
  2. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建
  3. 添加 Webhook 集成对话框中,选择FlashDuty,并填入告警名称和 Webhook 请求地址,点击确认完成配置。
  4. 点击测试发送一条示例告警,确认 FlashDuty 能够正确接收并处理该告警。

发送告警到自定义服务

除了向通讯软件中的机器人发送告警消息,我们还可以向自己的服务通过 Webhook 发送消息。

  1. 首先需要搭建好服务能接收和处理请求。

  2. 登录 EMQX 控制台,进入目标部署,从左侧菜单中点击监控 -> 告警 -> 告警集成,在 Webhook 集成区域点击 + 新建

  3. 添加 Webhook 集成对话框中,选择通用 Webhook,并填入告警名称和 Webhook 服务的请求地址,同时也可以额外添加请求头的键和值。

  4. 点击确认完成配置。

    add webhook alert
  5. 验证配置。可以通过测试功能,选择配置好的 Webhook 告警,即可发送默认消息检测是否配置成功。