> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Obkio 告警集成

> 通过 Obkio 的 Webhook 通知，将网络监控产生的告警同步到 Flashduty On-call。

通过 Obkio 组织级别的 Webhook 通知，将网络监控告警同步到 Flashduty On-call。每条 Obkio 告警（`alert_id`）对应一条 Flashduty 告警，同一告警再次通知时合并到同一条。

<div className="hide">
  ## 在 Flashduty On-call

  ***

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

  ### 使用专属集成

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

  ### 使用共享集成

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

## 在 Obkio 中配置

***

Webhook 在组织级别配置，需要有修改组织高级参数的权限。

<Steps>
  <Step title="填写 Webhook 地址">
    1. 在 Obkio 中点击 左下角 **More → 组织名称 → Change Organization's Advanced Parameters**
    2. 找到 **Webhooks Settings**，确认 **Webhook Type** 选中 `Obkio`
    3. 将 Flashduty 集成的完整推送地址粘贴到 **Webhook URL**，地址中需包含 `integration_key`
    4. **Webhook Secret** 可留空，Flashduty 不校验签名
    5. 这一页没有保存按钮，输入框失去焦点（例如点击页面空白处）时自动保存。刷新页面确认 **Webhook URL** 仍在
  </Step>

  <Step title="开启超时自动关闭">
    Obkio 的 Webhook 文档没有描述恢复通知，Flashduty 中的告警不会自动恢复。请在协作空间开启[超时自动关闭](/zh/on-call/channel/create-edit)，超时计时起点选 **故障触发**，超时时长建议 4 小时，可按网络告警的常见持续时间调整。
  </Step>

  <Step title="验证">
    等待一条真实的 Obkio 告警（例如延迟超过阈值），确认 Flashduty 收到活动告警。Obkio 对返回非 2xx 的推送最多重试 8 次，间隔从 30 秒逐步增加到 15 分钟。

    Obkio 文档没有描述测试推送。Flashduty 只处理 `type` 为 `alert_notification` 的推送，其他类型的推送返回成功但不创建告警。
  </Step>
</Steps>

## Alert Key

***

Flashduty 使用 Webhook 中的 `data.alert_id` 作为 Alert Key。Obkio 的推送示例把 `alert_id`（告警）与 `notification_id`（本次通知）分开列出，通知 ID 每次不同，因此不参与 Alert Key。Obkio 文档没有说明 `alert_id` 在同一告警多次通知间是否保持不变；若发生变化，每次通知会各自成为一条告警，由超时自动关闭收敛。

事件类型、等级、描述的变化都不会改变 Alert Key。缺少 `data.alert_id` 的推送会被拒绝。

## 状态和告警等级

***

Flashduty 按 `data.severity`（Obkio 的等级，见[通知说明](https://obkio.com/docs/notifications/)）设置告警等级：

| Obkio 等级 | Flashduty 等级 |
| :- | :- |
| `critical` | Critical |
| `error` | Critical |
| `warning` | Warning |
| `information` | Info |
| `ok` | 恢复（Ok） |
| 空值或其他值 | Warning |

Obkio 文档没有说明是否会推送 `ok` 等级；如果推送，对应 `alert_id` 的告警恢复。

## 标签

***

| 标签 | 来源 |
| :- | :- |
| `alert_id` | Obkio 告警 ID，即 Alert Key |
| `event_type` / `check` | 事件类型，如 `latency` |
| `severity` | Obkio 原始等级 |
| `session_key` | 会话标识 |
| `agent_client_id` / `agent_client_name` | 发起测试的 Agent |
| `agent_server_id` / `agent_server_name` | 被测试的 Agent |
| `template_id` / `template_name` | 监控模板 |

标题取自 `event_description`（如 `High latency: 118.32 ms`）。

## 排查问题

***

* **Flashduty 返回参数错误**：错误信息会指出缺少的字段（`data.alert_id`）。确认 Webhook Type 选择的是 `Obkio`
* **Obkio 重试推送**：确认 URL 完整且包含 `integration_key`，返回 2xx 后 Obkio 才停止重试
* **告警没有恢复**：这是预期行为，请确认已开启协作空间的超时自动关闭
* **没有收到告警**：Obkio 的智能通知会先等待一段时间，等级为 `error` 的通知默认延迟 2 分钟，期间问题恢复则不会发送

更多字段含义请参阅 [Obkio Webhook 文档](https://obkio.com/docs/notification-webhooks-obkio-type/)。
