在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。使用专属集成
如果您只需将告警发往一个协作空间,选择此方式,配置更简单。查看专属集成的配置步骤
查看专属集成的配置步骤
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 EMQX 集成,点击 保存,生成卡片。
- 打开生成的集成卡片,复制 推送地址
使用共享集成
如果您需要根据告警事件的 Payload 将告警路由到不同协作空间,选择此方式。查看共享集成的配置步骤
查看共享集成的配置步骤
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 EMQX 集成:
- 集成名称:为当前集成定义一个名称。
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 EMQX
EMQX Cloud(托管服务)与自建 EMQX 的接入方式不同,请根据您的部署形态选择。EMQX Cloud(托管服务)
EMQX Cloud 内置了 Flashduty 告警集成类型,配置步骤如下:- 登录 EMQX Cloud 控制台,进入您的部署,选择 告警 → 告警集成(Alerts → Alert Integrations)
- 在 Webhook 集成区域点击 新建,类型选择 FlashDuty
- 将 Flashduty 集成的推送地址粘贴到 URL 输入框
- 点击 确认 保存,然后可以点击 测试 发送一条测试告警,验证 Flashduty 是否正常接收
deployment_id、level、message、region 四个标签。
自建 EMQX
自建 EMQX 需要通过规则引擎将系统告警事件转发到推送地址。规则引擎自 EMQX 5.8.5 起支持
$events/sys/alarm_activated(告警激活)和 $events/sys/alarm_deactivated(告警解除)两个系统告警事件,请确保您的 EMQX 版本不低于 5.8.5。步骤 1:创建告警触发规则请求体模板与步骤 1 相同,但
- 登录 EMQX Dashboard,进入 集成 → 规则,点击 新建规则
-
在 SQL 编辑器中输入以下语句,匹配系统告警激活事件:
-
在动作区域添加 HTTP 服务器 动作:
- 连接器 URL 填写 Flashduty 集成的推送地址(需携带 integration_key 参数)
- 请求方法选择
POST - 请求体填写以下模板,将告警字段转换为 Flashduty 标准告警事件格式:
模板中的${name}、${message}、${node}会被规则 SQL 输出的字段值替换。 - 保存规则
event_status 固定填写为 Ok,以便告警解除时自动恢复 Flashduty 中对应的告警。严重程度映射关系
EMQX Cloud(托管服务):EMQX Cloud 自动按以下关系映射告警等级:
自建 EMQX:告警等级由规则请求体模板中的
event_status 字段决定。上述示例中告警激活推送 Critical、告警解除推送 Ok,您可以在模板中将激活等级改为 Warning 或 Info。event_status 的合法取值为 Critical、Warning、Info、Ok。常见问题
为什么在 Flashduty 没有收到告警?
为什么在 Flashduty 没有收到告警?
在 Flashduty On-call
- 查看集成是否展示了 最新事件时间?如果没有,代表 Flashduty 没有收到推送,请优先排查 EMQX 侧配置。
- 如果您使用 共享集成,请先确认已配置 路由规则。没有路由规则时,系统会拒绝新的推送,因为没有协作空间承接告警。请将路由规则指向目标协作空间。
- 自建 EMQX:确认规则的请求体模板与上文示例一致,
event_status必须是Critical、Warning、Info、Ok之一,否则 Flashduty 会拒绝该请求。 - 在 EMQX Dashboard 的规则详情页查看规则的运行统计,确认动作执行成功、无失败计数。
- 确认 EMQX 节点可以访问外网
api.flashcat.cloud域名。