TRIGGERED)时触发,恢复正常(OK)时自动恢复。适用于自建的 Redash。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Redash,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Redash,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Redash 中配置
需要 Redash 管理员权限创建告警目的地,Redash 服务器需要能访问 Flashduty 推送地址。
1
创建 Webhook 告警目的地
- 以管理员身份进入 Redash,打开 Settings → Alert Destinations,点击 New Alert Destination
- Type 选择 Webhook,填写名称
- 将 Flashduty 集成的完整推送地址粘贴到 URL,地址中需包含
integration_key - Username 和 Password 留空即可,Flashduty 通过地址中的
integration_key认证 - 点击 Create
2
在告警上添加该目的地
- 打开需要接入的告警(Alerts),或新建一个告警:选择已发布且不含参数的查询,设置 Value column、条件和阈值
- 在 Destinations 中点击 Add,选择上一步创建的 Webhook 目的地。未添加目的地时 Redash 不会发送任何通知
- Send notification 选择 Each time alert is evaluated 或 At most every …,让持续触发的告警按周期重复通知;选择 Just once 则只在触发时通知一次。重复通知会更新同一条 Flashduty 告警,不会新建
- 可选:在 Notification template 中选择 Custom template,填写主题(Subject)和正文(Body)。主题会作为 Flashduty 告警标题,正文会作为描述;留空时标题为 Redash 告警名称,描述为触发条件
- 保存告警
3
验证
- 让查询结果满足告警条件,等待查询按刷新计划执行,确认 Flashduty 收到活动告警
- 让查询结果恢复正常,确认原告警恢复
Alert Key
Flashduty 使用 Redash 告警的 ID(
alert.id)作为 Alert Key,同一个 Redash 告警的触发、重复通知和恢复使用同一个 Alert Key。告警名称、条件、阈值、状态等字段变化不会改变 Alert Key。缺少 alert.id 的请求会被拒绝。
同一个 Flashduty 集成请只接入一个 Redash 实例;不同 Redash 实例的告警 ID 会重复,请分别创建集成。
状态和告警等级
Redash 的通知不携带等级,Flashduty 按告警状态处理:
unknown 表示查询暂无数据可供评估。Redash 只在状态变化,或触发状态下超过重复通知间隔时发送通知;告警第一次评估就是 OK 时不发送通知。
标签
排查问题
- Flashduty 没收到告警:确认告警已添加 Webhook 目的地、告警没有被静音(Muted),查询已发布且按刷新计划运行;Redash 请求超时为 5 秒,失败后不重试,只在 Redash 日志中记录
- Flashduty 返回参数错误:确认 URL 完整且包含
integration_key - 告警没有恢复:Redash 只在状态变为
OK时发送恢复通知;查询没有数据时状态为unknown,不会恢复告警 - 收不到重复通知:Send notification 选择了 Just once