Skip to main content
通过 Airbrake 项目的 Webhook 集成,将错误通知同步到 Flashduty On-call。每个 Airbrake 错误(error)对应一条 Flashduty 告警,同一个错误再次推送时合并到同一条告警。Airbrake 的 Webhook 没有”已解决”通知,告警需要由协作空间的超时自动关闭或手动关闭。

在 Flashduty On-call


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

使用专属集成

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

使用共享集成

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

在 Airbrake 中配置


1

添加 Webhook 集成

  1. 进入需要接入的 Airbrake 项目,打开项目的集成(Integrations)设置,选择 Webhook
  2. 将 Flashduty 集成的完整推送地址填入 Webhook URL,地址中需包含 integration_key
  3. 如只需要生产环境的错误,勾选”仅推送 production 环境的错误”
  4. 点击 Save
2

开启超时自动关闭

Airbrake 的 Webhook 只推送错误通知,没有恢复事件:错误在 Airbrake 中被标记为解决后,Flashduty 不会收到通知。请在接收这些告警的协作空间中开启 超时自动关闭,建议时长 24 小时。同一个错误在合并窗口内再次推送时会更新同一条告警,已关闭后再次推送会触发新的告警。
3

验证

在接入 Airbrake SDK 的应用中触发一个新错误,确认 Flashduty 出现对应的活动告警,标题为错误消息,标签中的 error_id 与 Airbrake 中该错误的 ID 一致。Airbrake 文档没有说明测试通知的内容,Flashduty 不对测试推送做特殊识别;如果推送了测试内容,请按普通告警处理并手动关闭。

Alert Key


Flashduty 用 Webhook 内容中的 error.id(Airbrake 错误 ID)计算 Alert Key。同一个错误的多次推送使用同一个 Alert Key,错误消息、发生次数、环境、最近一次事件等字段变化不会改变它。缺少 error.id 的推送会被拒绝。

告警等级


Airbrake Webhook 不携带等级,所有推送均为 Warning,状态为触发。

标签


排查问题


  • Flashduty 返回参数错误:确认 URL 完整且包含 integration_key
  • 告警没有恢复:Airbrake 不推送恢复通知,请开启协作空间的超时自动关闭,或手动关闭告警
  • 没有收到推送:检查是否勾选了仅推送 production 环境,以及错误所在环境是否为 production
更多字段含义请参阅 Airbrake Webhook。