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

# 移动云云监控告警集成

> 通过移动云云监控告警联系人的自定义 Webhook，将云监控告警同步到 Flashduty On-call，告警恢复时自动关闭。

通过移动云云监控告警联系人中的自定义 Webhook 地址，将云监控告警推送到 Flashduty On-call。同一资源、同一告警规则持续产生的告警对应一条 Flashduty 告警：告警触发时产生告警，移动云推送告警恢复时告警自动恢复。

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

  ***

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

  ### 使用专属集成

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

  ### 使用共享集成

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

## 在移动云中配置

***

<Steps>
  <Step title="创建带 Webhook 地址的告警联系人">
    1. 登录移动云控制台，进入 **云监控** → **告警服务** → **告警联系人**
    2. 点击 **新建告警联系人**，填写联系人姓名、手机和邮箱
    3. 在 **自定义webhook地址** 中粘贴 Flashduty 集成的完整推送地址，地址中需包含 `integration_key`
    4. 保存联系人

    移动云要求 Webhook 地址可以从公网访问，Flashduty 的推送地址满足该要求。
  </Step>

  <Step title="在告警策略中通知该联系人">
    1. 进入 **云监控** → **告警服务** → **告警策略**，新建或编辑一条告警策略
    2. 在通知对象中选择上一步创建的告警联系人，保存策略

    策略下的告警规则触发或恢复时，移动云会向该联系人的 Webhook 地址推送告警。
  </Step>

  <Step title="验证">
    1. 让策略中的一条告警规则触发，例如临时调低云主机 CPU 利用率规则的阈值，确认 Flashduty 收到活动告警
    2. 把阈值改回原值，等监控数据恢复正常、移动云推送告警恢复后，确认原告警恢复
  </Step>
</Steps>

## Alert Key

***

移动云每次推送都带有告警 ID（`alarmId`）。按移动云的说明，同一资源、同一告警规则持续产生的告警，`alarmId` 保持不变。Flashduty 以 `alarmId` 计算 Alert Key，因此：

* 同一资源、同一告警规则的重复推送和恢复推送归入同一条告警
* 同一告警规则作用于不同资源时，每个资源各自一条告警
* 告警级别、告警内容、触发值和时间的变化不会改变 Alert Key

缺少 `alarmId` 的请求会被拒绝。

## 状态和告警等级

***

`recover` 为 `true` 时告警恢复，其余情况均视为触发。告警等级来自告警级别（`alarmLevel`）：

| 移动云告警级别 | Flashduty 等级 |
| :- | :- |
| 严重 | Critical |
| 重要 | Warning |
| 次要 | Info |
| 提示 | Info |
| 为空或其他值 | Warning |

告警恢复时保留恢复前的告警等级。

## 告警内容和标签

***

告警标题由资源名称（`resourceName`）和告警指标名称（`metricName`）组成，例如 `ECS-45273803 CPU利用率`。告警描述为移动云推送的告警内容（`content`），包含触发值和触发时间。

| 标签 | 来源 |
| :- | :- |
| `check` | 告警指标名称（`metricName`） |
| `resource` | 告警资源名称（`resourceName`） |
| `resource_id` | 告警资源 ID（`resourceId`） |
| `product_type` | 告警资源类型（`productType`），如 `云主机 ECS` |
| `region` | 资源所属资源池（`poolName`），如 `湖北-襄阳` |
| `pool_id` | 资源池 ID（`poolId`） |
| `ip_infos` | 资源 IP 信息（`ipInfos`），仅云主机 ECS 推送 |
| `child_node` | 子节点名称（`childNode`），仅子节点告警推送 |
| `alarm_id` | 告警 ID（`alarmId`） |
| `alarm_type` | 告警类型（`alarmTypeCn`） |
| `alarm_level` | 移动云中的原始告警级别 |
| `rule_id` | 告警规则 ID（`ruleId`）；策略中多个规则为“与”关系时移动云不推送 |
| `strategy_id` | 告警策略 ID（`strategyId`） |
| `user_name` | 移动云用户名称（`userName`） |
| `notify_time` | 本次告警通知的时间（`notifyTime`） |

## 排查问题

***

* **Flashduty 没有收到告警**：确认告警策略的通知对象中选择了填写 Webhook 地址的告警联系人，且地址完整、包含 `integration_key`
* **Flashduty 返回参数错误**：确认推送内容中带有 `alarmId`
* **告警没有恢复**：移动云在监控数据恢复正常、自动清除实时告警时推送恢复。以其他方式结束的告警（如手动清除）如果没有推送恢复，请在 Flashduty 中手动关闭对应告警
* **告警等级都是 Warning**：检查推送内容中的 `alarmLevel`，参见上文状态和告警等级的说明

推送字段的完整说明请参阅移动云帮助中心的云监控 **告警联系人** 文档。
