在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。集成类型都选择 Azure Monitor,不是 Azure Service Health。使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增集成
- 选择 Azure Monitor,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Azure Monitor,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Azure 中配置
1
在 Azure Monitor 中创建带 Webhook 的 Action group
操作路径:Azure 门户 › Monitor › Alerts › Action groups › Create在 Basics 选项卡填写 Subscription、Resource group、Region、Action group name 和 Display name(均必填),其中 Region 必须选 Global。然后在 Actions 选项卡添加 Webhook 动作:
点击 OK,再点击 Review + create › Create 保存。
Azure 要求:Service Health 告警使用的 Action group,其区域必须设置为 Global;Service Health 告警只支持全球区域的公有云。
2
创建 Service Health 告警规则
操作路径:Azure 门户 › Service Health › Service Issues › Create service health alert
填写后点击 Create。
3
测试 Action group 并确认
操作路径:Azure 门户 › Monitor › Alerts › Action groups › 该 Action group › Test选择 Sample type 和 Webhook 动作,点击 Test,状态为 Success 表示 Azure 已成功调用推送地址,失败时点击 View details。Service Health 的测试示例处于
Resolved 阶段,Flashduty 按恢复处理,不会新建告警;要看到告警,需等待真实的 Service Health 事件。确认告警规则仍然启用后,真实事件到达时 Flashduty 中会出现对应告警。字段映射
标题和描述
通用架构下,事件标题和正文保留在
alertContext 标签的 JSON 中。需要在通知里直接看到事件标题时,使用旧版负载(不启用通用告警架构)。
恢复与去重
- Azure 在事件进展时向同一个 Tracking ID 发送多条通知,Flashduty 按 Alert Key 合并;事件进入解决阶段时恢复告警
- 缺少
properties.trackingId的旧版通知会被拒绝(HTTP 400);通用架构下缺少 Tracking ID 的通知每条单独成为一条告警,不会自动恢复 - 计划内维护在
Complete或Canceled阶段恢复;在维护开始前,告警处于触发状态
排查问题
- Action group 没有触发:确认 Action group 的区域是 Global,且告警规则的 Actions 标签页已选择该 Action group
- 告警没有恢复:确认告警规则仍然启用,并等待 Azure 发出事件解决阶段的通知
- Azure 显示 Webhook 调用失败:确认
URI是完整的推送地址,包含integration_key - 看到多条告警:不同的 Azure 事件有不同的 Tracking ID,各自对应一条告警;同一事件的进展通知会合并