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

# Auvik 告警集成

> 通过 Webhook 集成将 Auvik 网络监控的告警触发和清除通知同步到 Flashduty On-call。

通过 Auvik 的 Webhook 集成，将网络设备、接口、网络和服务的告警同步到 Flashduty On-call。Auvik 在告警触发（Triggered）和清除（Cleared）时各推送一次，Flashduty 用同一个 Alert Key 关联两次通知：触发时创建告警，清除时自动恢复。

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

  ***

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

  ### 使用专属集成

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

  ### 使用共享集成

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

## 在 Auvik 中配置

***

Webhook 集成只能在 Auvik 的 MSP 全局视图中管理，需要相应的管理权限。推送地址必须是 HTTPS，Flashduty 的推送地址满足该要求。

<Steps>
  <Step title="添加 Webhook 集成">
    1. 在 Auvik 左侧导航栏点击 **Integrations**
    2. 将鼠标移到 **Add Integration** 上，选择 **Webhook**
    3. 在 **Integration name** 中填写集成名称
    4. 将 Flashduty 集成的完整推送地址粘贴到 **Webhook URL**，地址中需包含 `integration_key`
    5. 认证方式选择 **No Authentication**，Flashduty 通过地址中的 `integration_key` 认证
    6. 不要填写 JSONata 转换表达式，Flashduty 直接解析 Auvik 的默认通知格式
    7. 点击 **Test Connection**，Auvik 会向该地址推送 `{"my-api-test-field": "my-api-test-value"}`，Flashduty 返回成功且不会创建告警
    8. 点击 **Save**
  </Step>

  <Step title="创建通知渠道并关联告警">
    Auvik 只推送已关联通知渠道的告警：

    1. 进入 **Manage Alerts → Notification Channels**，点击 **Add Notification Channel**
    2. 填写名称，**Contact Method** 选择 **Webhook**，并选择上一步创建的集成
    3. 保存后，将该通知渠道关联到需要推送到 Flashduty 的告警，可在全局视图或站点视图中操作
  </Step>

  <Step title="验证">
    告警在 Auvik 中触发后，Flashduty 会出现一条活动告警；告警条件恢复、Auvik 将其清除后，该告警自动恢复。
  </Step>
</Steps>

<Note>
  Auvik 要求组织名称使用标准英文字符，否则 Webhook 告警可能无法按预期推送。可在 **Admin → Settings → Organization** 中修改组织名称。
</Note>

## Alert Key

***

Flashduty 使用通知中的 `correlationId`（Auvik 文档：告警触发的唯一 API 标识）作为 Alert Key。同一次告警的触发通知和清除通知携带相同的 `correlationId`，但 `alertId` 不同，因此 Flashduty 不使用 `alertId`。告警名称、等级、描述和时间等字段变化不会改变 Alert Key。带有状态但缺少 `correlationId` 的通知会被拒绝。

## 状态和告警等级

***

Flashduty 按 `alertStatusString`（缺失时按 `alertStatus`）确定状态，按 `alertSeverity`（缺失时按 `alertSeverityString`）确定等级：

| Auvik 状态 | Flashduty 状态 |
| :- | :- |
| `Triggered`（`alertStatus` 为 0） | 触发 |
| `Cleared`（`alertStatus` 为 1） | 恢复 |

| Auvik 等级 | `alertSeverity` | Flashduty 等级 |
| :- | :- | :- |
| Emergency | 1 | Critical |
| Critical | 2 | Critical |
| Warning | 3 | Warning |
| Info | 4 | Info |

等级缺失或取值不在上表中时按 Warning 处理。

## 标签

***

| 标签 | 来源 |
| :- | :- |
| `check` | 告警名称 `alertName` |
| `resource` | 触发告警的资产名称 `entityName` |
| `entity_id` / `entity_type` | 资产 ID 和类型（`device`、`interface`、`network`、`service`） |
| `site` / `site_id` | 资产所在站点的名称和 ID |
| `alert_id` | 本次通知的 `alertId` |
| `correlation_id` | 作为 Alert Key 的 `correlationId` |
| `severity` | Auvik 的等级字符串 |
| `url` | Auvik 中该告警页面的链接 |

## 排查问题

***

* **Test Connection 失败**：确认 Webhook URL 完整、包含 `integration_key`，且使用 HTTPS
* **没有收到告警**：确认通知渠道已关联到对应告警，且通知渠道的联系方式选择了这个 Webhook 集成
* **告警没有恢复**：Auvik 只有在告警被清除时才推送 `Cleared` 通知；如果告警在 Auvik 中被手动关闭或删除，请在 Flashduty 中手动关闭
* **Flashduty 返回参数错误**：通知带有状态但缺少 `correlationId`，或状态不是 `Triggered` / `Cleared`，请确认没有配置 JSONata 转换表达式

更多字段含义请参阅 [How do I interpret Auvik webhook notifications?](https://support.auvik.com/hc/en-us/articles/360048647112) 和 [Integrating Auvik with a webhook](https://support.auvik.com/hc/en-us/articles/216977386)。
