在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Kentik,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Kentik,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Kentik 中配置
创建通知渠道需要 Kentik 的 Administrator 权限,Member 只能查看。
1
创建 Custom Webhook 通知渠道
- 登录 Kentik Portal,进入 Settings → Notification Channels
- 点击 Add Notification Channel,类型(Type)选择 Webhook(列表中显示为 Custom Webhook)。请不要选择 JSON 类型,Flashduty 解析的是下面模板的输出
- 按下表填写:
- 点击 Save 保存
2
在告警策略或合成监测测试中使用该渠道
- 告警策略:进入 Settings → Alert Policies,编辑策略,在每个需要通知的阈值(Threshold)的 Activate & Clear 设置中,于 Notifications → Notification Channels 选择上一步创建的渠道并保存
- 合成监测测试:进入 Synthetics → Tests,编辑测试,在 Alerting and Notifications 标签页的 Notification Channels 中选择该渠道并保存
3
验证
- 让一条使用该渠道的告警策略或合成监测测试进入告警状态,确认 Flashduty 收到活动告警
- 等待告警条件消失,或在 Kentik 的 Alerting 页面选中该告警点击 Clear Alert,确认原告警变为已恢复
Alert Key
Flashduty 使用 Kentik 的告警 ID(
AlarmID,Kentik 界面中的 Alert ID)作为 Alert Key。同一条 Kentik 告警从 Active 到 Cleared 的每次状态变化通知都携带同一个告警 ID,因此会合并到同一条告警,并由清除通知关闭。
- 按维度告警:告警策略会为每个满足条件的键(Key,即策略维度的一组取值)分别生成告警,每条告警有自己的 ID,因此在 Flashduty 中是不同的告警,分别恢复
- 合成监测按代理告警:合成监测测试为每个测试代理(Agent)分别生成告警,各有自己的 ID;告警清除后再次失败会生成新的告警 ID,对应新的 Flashduty 告警
- 描述、严重程度、指标值和时间的变化不会改变 Alert Key。缺少
AlarmID的事件会被拒绝 - 一次推送包含多个事件时,每个事件各自对应一条告警;没有事件的推送会返回成功,但不会创建告警
状态和告警等级
状态由
IsActive 决定:
告警等级由事件的重要程度(
Importance,0 到 7)决定。告警策略告警的 Importance 与阈值的严重程度(Severity)一致:
标签
告警标题为 Kentik 的事件描述(
Description),如 Alarm for DDoS Protect Policy Active。
排查问题
- Flashduty 返回参数错误:确认 URL 完整且包含
integration_key,渠道类型是 Custom Webhook,并且模板与上文一致 - 提示
AlarmID is required:该渠道被用于缓解或洞察通知,或模板被修改。只把该渠道用于告警策略和合成监测测试 - 告警没有恢复:确认告警在 Kentik 中已变为 Cleared。开启了 Acknowledgement Required 的策略,告警需先在 Kentik 中确认才能清除(参见 Kentik 策略阈值设置)
- 一条策略产生了多条告警:策略按维度的每组取值分别告警,这是预期行为
- 测试通知:Template & Preview 标签页的 Send Test Notification 使用模拟数据(Mock Data)发送时,事件描述以
[TEST]开头,Flashduty 返回成功但不创建告警。若先通过 Enter Alert ID 加载一条真实告警再发送,推送内容就是该告警的真实状态,Flashduty 会按真实通知处理