status、alerts、fingerprint、labels、annotations、startsAt、endsAt)。Flashduty 的 Prometheus 集成 与该格式兼容,因此不需要单独的 SigNoz 集成:在 Flashduty 创建 Prometheus 集成,把它的推送地址填进 SigNoz 即可。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。集成类型都选择 Prometheus,不是 SigNoz。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Prometheus,点击 保存
- 打开生成的集成卡片,复制 推送地址,形如
https://api.flashcat.cloud/event/push/alert/prometheus?integration_key=<集成密钥>
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Prometheus,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 SigNoz 中配置
- 进入 SigNoz 的 Settings → Notification Channels(也可从 Alerts 页的 Notification Channels 标签进入),点击 New Channel
- 填写渠道名称,类型选择 Webhook,在 endpoint URL 中填入上一步复制的完整推送地址(包含
?integration_key=...) - 保持 Send resolved alerts 开启(默认开启),否则 Flashduty 收不到恢复通知
- 保存,然后在 SigNoz 告警规则的阈值行(send to)中选择该渠道
字段映射
SigNoz 按规则(
ruleId)分组发送通知,一次通知可包含多条告警;Flashduty 逐条处理(单次最多 100 条)。规则触发通常在 1 分钟内送达。
恢复与去重
- SigNoz 发送
status为resolved的通知时,Flashduty 按相同的fingerprint关闭对应告警。 - 新版 SigNoz 规则的
severity标签取自阈值行的名称(例如阈值名critical、warning),同时写入threshold.name标签。如果使用了error等未内置的取值,请在 Prometheus 集成中配置自定义严重程度映射,否则按 Warning 处理。 - 恢复通知在规则回到正常后延迟数分钟到达(实测触发后约 30 秒、恢复约 6 至 10 分钟),属正常现象。
- 渠道的 Test 按钮会发送一条
status为firing的测试告警,标题为Test Alert (<渠道名称>),severity为critical。它会在 Flashduty 产生一条 Critical 告警,且不会有对应的恢复通知,请手动关闭该告警。
排查问题
- Flashduty 返回
Invalid parameters:推送地址不完整,缺少integration_key,或集成类型不是 Prometheus - 告警没有恢复:确认 SigNoz 渠道的 Send resolved alerts 已开启,且恢复通知的
fingerprint与触发时一致 - 恢复通知延迟:SigNoz 在规则回到正常后延迟数分钟才发送恢复通知,这是 SigNoz 的默认行为