

# 跨账户跨区域指标集中化
<a name="CloudWatchMetrics_Centralization"></a>

Amazon CloudWatch 指标集中化会自动将来自多个源账户和区域的指标集中到 AWS Organizations 组织内的单个目标账户中。您可以定义规则来控制要集中化的内容，从而实现整个 AWS 基础设施的统一监控、警报和分析。

CloudWatch 指标集中化在目标账户中支持完整的 CloudWatch 指标查询功能，包括 GetMetricData、PromQL、指标数学、异常检测和警报。

## 指标集中化概念
<a name="metrics-centralization-concepts"></a>

在开始使用 CloudWatch 指标集中化之前，请先熟悉以下概念：
+ **源账户**：指标数据来源的 AWS 账户。
+ **目标账户**：存储集中化指标数据的 AWS 账户。该账户用作指标查询、警报和分析的集中位置。
+ **源元数据**：集中化指标会自动使用源元数据进行标记，以便您在目标账户中识别每个指标的来源。对于 Metrics Insights 查询，会添加 `:@aws.account` 和 `:@aws.region` 维度。对于 PromQL 查询，会添加 `@aws.account` 和 `@aws.region` 属性。
+ **备份区域**：目标账户中的可选辅助区域（[请参阅定价](https://aws.amazon.com/cloudwatch/pricing/)），指标数据可集中在此区域，以提高恢复能力并实现灾难恢复。

## 集中化指标
<a name="metrics-centralization-centralized-metrics"></a>

启用指标集中化后，CloudWatch 会自动将指标从源账户集中到目标账户。集中化后，指标的副本现在归目标账户所有。通过 PutMetricData 或 EMF 摄取的指标可使用 GetMetricData 进行查询。通过 OpenTelemetry（OTLP）摄取的指标可使用 PromQL 进行查询。

### 支持的指标类型
<a name="metrics-centralization-supported-types"></a>

以下指标类型会被集中化：
+ 自定义指标（PutMetricData）
+ 嵌入式指标格式（EMF）指标
+ OpenTelemetry（OTLP）指标

### 源元数据维度
<a name="metrics-centralization-source-metadata"></a>

集中化指标包含额外的源识别元数据。根据查询路径的不同，格式也有所不同：

**Metrics Insights 查询（GetMetricData）**


| 维度 | 说明 | 
| --- | --- | 
| :@aws.account | 指标起源的 AWS 账户 ID | 
| :@aws.region | 指标起源的 AWS 区域 | 

**PromQL 查询**


| 属性 | 说明 | 
| --- | --- | 
| @aws.account | 指标起源的 AWS 账户 ID | 
| @aws.region | 指标起源的 AWS 区域 | 

## 设置指标集中化
<a name="metrics-centralization-setup"></a>

要设置 CloudWatch 指标集中化，需要配置集中化规则，以定义指标数据如何从源账户流向目标账户。

### 先决条件
<a name="metrics-centralization-prerequisites"></a>
+ 必须设置 AWS Organizations，并且源账户和目标账户都必须属于同一组织。
+ 必须为 CloudWatch 启用可信访问，以便管理账户和目标账户能够访问指标数据。

**注意**  
建议通过控制台启用可信访问，这会自动创建所需的服务相关角色（SLR）。如果通过其他方法启用可信访问，则需要单独创建服务相关角色。

### 创建集中化规则
<a name="metrics-centralization-create-rule"></a>

请按照以下过程创建集中化规则，将指标数据从源账户集中到目标账户。

**创建集中化规则**

1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

1. 选择**设置**。

1. 导航到**组织**选项卡。

1. 选择**配置规则**。

1. 通过设置下面的字段来指定源详细信息，然后选择**下一步**：

   1. **集中化规则名称**：为集中化规则输入一个唯一名称。

   1. **源账户**：定义源选择标准，以选取要从中集中化指标数据的账户。选择标准可包括：
      + 组织内的成员账户列表
      + 组织内的组织单元列表
      + 整个组织

      您可以通过两种模式提供选择标准：
      + **生成器**：基于点击的体验，可生成源选择标准
      + **编辑器**：提供源选择标准的自由格式的文本框

      源选择标准支持的语法：
      + **支持的密钥：**`OrganizationId` \| `OrganizationUnitId` \| `AccountId` \| `*`
      + **支持的运算符：**`=` \| `IN` \| `OR`

   1. **源区域**：选择一个区域列表以查找要集中的指标数据。

1. 通过设置下面的字段来指定目标详细信息，然后选择**下一步**：

   1. **指标**：确保已选中“指标”（默认启用）。如果您只想集中化指标，可以取消选中“日志”。

   1. **目标区域**：选择一个存储集中化指标数据副本的主区域。

1. 通过设置下面的字段来指定遥测数据，然后选择**下一步**：

   1. **指标**：来自源账户的所有指标都会集中到目标账户。这包括自定义指标、嵌入式指标格式（EMF）指标和 OpenTelemetry（OTLP）指标。

   1. **备份区域**：根据需要选择存储集中化指标数据的第二个副本的区域。日志和指标可以分别设置备份区域。
**注意**  
目前，来自源账户的所有指标都会被集中化。暂不支持选择性指标筛选。

1. 查看集中化规则，根据需要进行任何最后的编辑，然后选择**创建集中化策略**。

### 修改集中化规则
<a name="metrics-centralization-modify-rule"></a>

**修改集中化规则**

1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

1. 选择**设置**。

1. 导航到**组织**选项卡。

1. 选择**管理规则**。

1. 选择要更新规则，然后选择**编辑**。

1. 根据需要更新规则配置，然后选择**下一步**继续执行每个步骤。

1. 在步骤 4“查看和配置”中，选择**更新集中化策略**。

### 查看集中化规则
<a name="metrics-centralization-view-rule"></a>

**查看集中化规则**

1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

1. 选择**设置**。

1. 导航到**组织**选项卡。

1. 选择**管理规则**。

1. 查看所有现有集中化规则的列表，然后选择一个特定规则名称以查看其详细信息。

### 删除集中化规则
<a name="metrics-centralization-delete-rule"></a>

**删除集中化规则**

1. 以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。

1. 选择**设置**。

1. 导航到**组织**选项卡。

1. 选择**管理规则**。

1. 选择要删除的规则，然后选择**删除**。

1. 确认删除并选择**删除**。

## 集中化指标支持的功能
<a name="metrics-centralization-supported-features"></a>

以下 CloudWatch 功能适用于目标账户中的集中化指标：

**注意**  
基于资源的自动控制面板（例如 EC2 和 S3）提供部分支持。这些控制面板可能显示集中化指标的不完整数据，因为它们依赖于未从源账户集中化的资源元数据。


**完全支持的功能**  

| 功能 | 说明 | 
| --- | --- | 
| GetMetricData API | 以编程方式查询指标数据点 | 
| GetMetricStatistics API | 查询指标统计数据 | 
| ListMetrics API | 发现可用的集中化指标 | 
| 控制台指标浏览器 | 浏览和导航集中化指标 | 
| Metrics Insights（SQL 查询） | 使用类似 SQL 的语法查询指标 | 
| Query Studio | PromQL 和指标的统一查询接口 | 
| 搜索表达式 | 通过 SEARCH() 动态发现指标 | 
| 指标数学 | 对时间序列进行算术、比较和逻辑运算 | 
| 异常检测 | 基于机器学习的异常检测模型和警报 | 
| 指标警报 | 基于阈值的标准警报 | 
| 复合警报 | 组合多种警报状态的布尔逻辑 | 
| PromQL 警报 | 使用 PromQL 表达式的警报 | 
| 警报操作（SNS） | 警报状态变化时的 SNS 通知 | 
| CloudWatch 控制面板 | 将集中化指标添加到控制面板 | 
| 指标流 | 将集中化指标流式传输到 Firehose、S3 或合作伙伴 | 
| PromQL 查询 | 与 Prometheus 兼容的指标查询 | 

## 监控和排查集中化规则
<a name="metrics-centralization-monitoring"></a>

您可以使用 CloudWatch 指标、CloudWatch 控制台和 AWS CloudTrail 日志来监控集中化规则的状态和性能。

### 使用 AWS CloudTrail 监控集中化 API 调用
<a name="metrics-centralization-cloudtrail"></a>

AWS CloudTrail 日志对集中化服务进行的 API 调用。关键的 CloudTrail 事件包括：
+ `CreateCentralizationRuleForOrganization`：创建新的集中化规则时
+ `UpdateCentralizationRuleForOrganization`：修改现有规则时
+ `DeleteCentralizationRuleForOrganization`：删除规则时
+ `GetCentralizationRuleForOrganization`：检索规则详细信息时
+ `ListCentralizationRulesForOrganization`：列出规则时

### 排查常见 问题
<a name="metrics-centralization-troubleshooting"></a>

如果指标未能按预期集中化，请检查以下常见场景：
+ **历史指标数据**：集中化功能仅处理规则创建后到达的新指标数据。历史数据不会被集中化。
+ **未启用可信访问**：必须在 AWS Organizations 中为 CloudWatch 启用可信访问，以供管理账户和目标账户使用。
+ **源选择标准**：验证集中化规则的源选择标准是否包含正确的账户和区域。
+ **组织成员资格**：源账户和目标账户必须属于同一 AWS Organizations Organizations 组织。
+ **指标配额限制**：如果目标账户已达到其指标配额限制，将无法摄取新指标。如果需要，可以请求增加配额。
+ **规则运行状况**：在控制台中或使用 `GetCentralizationRuleForOrganization` API 检查集中化规则的运行状况。每个集中化规则都有运行状况指示其是否正常运行。规则运行状况包括：
  + `HEALTHY`：规则运行正常，并按配置复制指标数据。
  + `UNHEALTHY`：规则遇到问题，可能无法正确复制数据。
  + `PROVISIONING`：组织的集中化正在设置过程中。

## 定价
<a name="metrics-centralization-pricing"></a>

集中化指标的首份副本免费。请参阅 [Amazon CloudWatch 定价](https://aws.amazon.com/cloudwatch/pricing/)页面了解更多信息。

## 相关资源
<a name="metrics-centralization-related-resources"></a>
+ [配置 CloudWatch 与 AWS Organizations 的集成](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudwatch.html)
+ [CloudWatch 跨账户可观测性](CloudWatch-Unified-Cross-Account.md)
+ [Creating metrics from log events using filters](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)