TRIGGERED)时触发,恢复正常(OK)时自动恢复。适用于自建的 Redash。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增集成
- 选择 Redash,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Redash,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Redash 中配置
需要 Redash 管理员权限创建告警目的地,Redash 服务器需要能访问 Flashduty 推送地址。1
在 Redash 中创建 Webhook 告警目的地
操作路径:Redash › Settings › Alert Destinations › New Alert Destination
填写后点击 Create。
2
在 Redash 告警上添加该目的地
操作路径:Redash › Alerts › Destinations › Add可以打开已有告警,或新建一个告警:选择已发布且不含参数的查询,设置 Value column、条件和阈值。
保存告警。恢复通知无需单独配置:告警状态从
TRIGGERED 变回 OK 时,Redash 会向同一目的地发送通知,Flashduty 据此恢复告警。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),查询已发布且按刷新计划运行(自建时 worker 需要消费
periodic和scheduled_queries队列,默认配置已包含);Redash 请求超时为 5 秒,失败后不重试,只在 Redash 日志中记录 - Flashduty 返回参数错误:确认 URL 完整且包含
integration_key - 告警没有恢复:Redash 只在状态变为
OK时发送恢复通知;查询没有数据时状态为unknown,不会恢复告警 - 收不到重复通知:When triggered, send notification 选择了 Just once