Skip to main content
通过 Hosted Graphite 的 Webhook 通知渠道(Notification Channel),把指标告警的触发(alerting)和恢复(recovered)通知同步到 Flashduty On-call。同一条告警规则在同一个指标上越过阈值时触发,恢复时关闭对应的 Flashduty 告警。

在 Flashduty On-call


您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
  3. 选择 Hosted Graphite,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 Hosted Graphite,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 Hosted Graphite 中配置


1

创建 Webhook 通知渠道

登录 Hosted Graphite,在告警的 Notification Channels 中新建一个类型为 Webhook 的渠道,将 Flashduty 集成的完整推送地址粘贴到 URL。
2

关联告警

编辑需要接入的告警,把上一步创建的 Webhook 渠道加入它的通知渠道并保存。
3

验证生命周期

让指标越过告警阈值,确认 Flashduty 收到活动告警;再让指标回到阈值以内,确认原告警恢复。
Hosted Graphite 的通知里没有告警 ID,Flashduty 用「告警名称 + 指标名」区分告警。名称和指标都相同的两条告警会合并成同一条 Flashduty 告警,请给每条告警起不同的名称。

推送内容


Hosted Graphite 以 application/json POST 以下字段,Flashduty 直接解析,无需配置模板:

Alert Key


Flashduty 用告警名称和指标名计算 Alert Key(两者以分隔符拼接后取 MD5)。同一条告警在同一个指标上的触发和恢复通知携带相同的名称和指标,因此落在同一条告警上;名称不同或指标不同的告警互不影响。修改判定条件、当前值不会改变 Alert Key。 Hosted Graphite 未提供告警 ID,这一组合是推断得出的标识:如果两条告警的名称和指标都相同,它们会合并。请求中缺少 name 时,Flashduty 返回参数错误。

状态和告警等级


Hosted Graphite 的通知不带告警等级,Flashduty 统一按 Warning 处理。 status 为空或为其他值的请求会被拒绝,避免把无法判断状态的请求写入错误的告警生命周期。

常见问题


不会。请求失败时 Hosted Graphite 会在几秒内重试若干次,这些重试携带相同的名称和指标,会合并到同一条告警中。
本集成未观察到 Webhook 渠道的测试按钮。请用第三步的方式让指标真实越过阈值来验证。

排查问题


  • Hosted Graphite 推送失败:确认 URL 是完整的推送地址,且包含 integration_key
  • Flashduty 返回参数错误:确认请求体是 JSON,且 name 非空、status 为 alerting 或 recovered
  • 告警没有恢复:确认恢复通知与触发通知的告警名称和指标一致;改过告警名称会得到新的 Alert Key
  • 两条告警被合并:给它们设置不同的名称