> ## 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.

# Last9 告警集成

> 通过 Last9 的 Webhook 通知渠道，使用 Flashduty 的 PagerDuty 集成接收 Last9 告警，恢复通知自动关闭告警。

Last9 的 Webhook 通知渠道向你填写的 URL 发送 PagerDuty Events API v2 格式的 JSON，字段包括 `event_action`、`dedup_key` 和 `payload`。Flashduty 的 [PagerDuty 集成](/zh/on-call/integration/alert-integration/alert-sources/pagerduty) 与该格式兼容，因此不需要单独的 Last9 集成：在 Flashduty 创建 PagerDuty 集成，把它的推送地址填进 Last9 即可。

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

  ***

  您可通过以下两种方式获取集成推送地址，任选其一即可。**集成类型都选择 PagerDuty**，不是 Last9。

  ### 使用专属集成

  1. 进入 Flashduty 控制台，选择 **协作空间**，打开一个协作空间
  2. 选择 **配置** → **集成数据** → **专属集成**，点击 **新增一个集成**
  3. 选择 **PagerDuty**，点击 **保存**
  4. 打开生成的集成卡片，复制 **推送地址**，形如 `https://api.flashcat.cloud/event/push/alert/pagerduty?integration_key=<集成密钥>`

  ### 使用共享集成

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

## 在 Last9 中配置

***

1. 进入 Last9 的 **Notification Channels**，点击 **Add Channel** → **Webhook**
2. 在 webhook URL 中填入上一步复制的完整推送地址（包含 `?integration_key=...`）
3. 保存，并把该渠道分配给需要通知的 Alert Group

Last9 会对 Microsoft Teams、Flock、Google Chat、Telegram、Jira 和 Zenduty 的 URL 自动识别并改用各自的格式；Flashduty 的推送地址不在其列，按上面的通用格式发送。

## 字段映射

***

| Last9 字段 | Flashduty |
| :- | :- |
| `dedup_key` | Alert Key。同一 `dedup_key` 的事件归为同一条告警 |
| `event_action` | `trigger`、`acknowledge` 按 `payload.severity` 生成或更新告警；`resolve` 关闭告警 |
| `payload.summary` | 告警标题 |
| `payload.severity` | `critical`、`error` → Critical；`warning` → Warning；`info` → Info |
| `payload.source` | 标签 `source`、`resource` |
| `payload.component`、`group`、`class` | 同名标签 |
| `payload.custom_details` | 每个键展开为一个标签 |
| `links`、`images` | 以链接文字（或 `link_N`、`img_N`）为键的标签 |

## 恢复与去重

***

* Last9 发送 `event_action` 为 `resolve` 的通知时，Flashduty 按相同的 `dedup_key` 关闭对应告警。
* `severity` 只能是 `critical`、`error`、`warning`、`info`，其他取值会被 Flashduty 拒绝。
* `trigger`、`acknowledge` 事件必须带 `payload`；`resolve` 事件只带 `dedup_key` 也可以被接收。
* Last9 官方文档没有说明测试按钮的行为。首次配置后，用一条真实告警验证触发与恢复是否都出现在 Flashduty 中。

## 排查问题

***

* **Flashduty 返回 `Invalid parameters`**：推送地址不完整，缺少 `integration_key`，或集成类型不是 PagerDuty
* **告警没有恢复**：确认 Last9 发出了 `resolve` 通知，且其 `dedup_key` 与触发时一致
