跨账户跨区域指标集中化
Amazon CloudWatch 指标集中化会自动将来自多个源账户和区域的指标集中到 AWS Organizations 组织内的单个目标账户中。您可以定义规则来控制要集中化的内容,从而实现整个 AWS 基础设施的统一监控、警报和分析。
CloudWatch 指标集中化在目标账户中支持完整的 CloudWatch 指标查询功能,包括 GetMetricData、PromQL、指标数学、异常检测和警报。
指标集中化概念
在开始使用 CloudWatch 指标集中化之前,请先熟悉以下概念:
-
源账户:指标数据来源的 AWS 账户。
-
目标账户:存储集中化指标数据的 AWS 账户。该账户用作指标查询、警报和分析的集中位置。
-
源元数据:集中化指标会自动使用源元数据进行标记,以便您在目标账户中识别每个指标的来源。对于 Metrics Insights 查询,会添加
:@aws.account和:@aws.region维度。对于 PromQL 查询,会添加@aws.account和@aws.region属性。 -
备份区域:目标账户中的可选辅助区域(请参阅定价
),指标数据可集中在此区域,以提高恢复能力并实现灾难恢复。
集中化指标
启用指标集中化后,CloudWatch 会自动将指标从源账户集中到目标账户。集中化后,指标的副本现在归目标账户所有。通过 PutMetricData 或 EMF 摄取的指标可使用 GetMetricData 进行查询。通过 OpenTelemetry(OTLP)摄取的指标可使用 PromQL 进行查询。
支持的指标类型
以下指标类型会被集中化:
-
自定义指标(PutMetricData)
-
嵌入式指标格式(EMF)指标
-
OpenTelemetry(OTLP)指标
源元数据维度
集中化指标包含额外的源识别元数据。根据查询路径的不同,格式也有所不同:
Metrics Insights 查询(GetMetricData)
| 维度 | 说明 |
|---|---|
:@aws.account |
指标起源的 AWS 账户 ID |
:@aws.region |
指标起源的 AWS 区域 |
PromQL 查询
| 属性 | 说明 |
|---|---|
@aws.account |
指标起源的 AWS 账户 ID |
@aws.region |
指标起源的 AWS 区域 |
设置指标集中化
要设置 CloudWatch 指标集中化,需要配置集中化规则,以定义指标数据如何从源账户流向目标账户。
先决条件
-
必须设置 AWS Organizations,并且源账户和目标账户都必须属于同一组织。
-
必须为 CloudWatch 启用可信访问,以便管理账户和目标账户能够访问指标数据。
注意
建议通过控制台启用可信访问,这会自动创建所需的服务相关角色(SLR)。如果通过其他方法启用可信访问,则需要单独创建服务相关角色。
创建集中化规则
请按照以下过程创建集中化规则,将指标数据从源账户集中到目标账户。
创建集中化规则
-
以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。
-
选择设置。
-
导航到组织选项卡。
-
选择配置规则。
-
通过设置下面的字段来指定源详细信息,然后选择下一步:
-
集中化规则名称:为集中化规则输入一个唯一名称。
-
源账户:定义源选择标准,以选取要从中集中化指标数据的账户。选择标准可包括:
-
组织内的成员账户列表
-
组织内的组织单元列表
-
整个组织
您可以通过两种模式提供选择标准:
-
生成器:基于点击的体验,可生成源选择标准
-
编辑器:提供源选择标准的自由格式的文本框
源选择标准支持的语法:
-
支持的密钥:
OrganizationId|OrganizationUnitId|AccountId|* -
支持的运算符:
=|IN|OR
-
-
源区域:选择一个区域列表以查找要集中的指标数据。
-
-
通过设置下面的字段来指定目标详细信息,然后选择下一步:
-
指标:确保已选中“指标”(默认启用)。如果您只想集中化指标,可以取消选中“日志”。
-
目标区域:选择一个存储集中化指标数据副本的主区域。
-
-
通过设置下面的字段来指定遥测数据,然后选择下一步:
-
指标:来自源账户的所有指标都会集中到目标账户。这包括自定义指标、嵌入式指标格式(EMF)指标和 OpenTelemetry(OTLP)指标。
-
备份区域:根据需要选择存储集中化指标数据的第二个副本的区域。日志和指标可以分别设置备份区域。
注意
目前,来自源账户的所有指标都会被集中化。暂不支持选择性指标筛选。
-
-
查看集中化规则,根据需要进行任何最后的编辑,然后选择创建集中化策略。
修改集中化规则
修改集中化规则
-
以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。
-
选择设置。
-
导航到组织选项卡。
-
选择管理规则。
-
选择要更新规则,然后选择编辑。
-
根据需要更新规则配置,然后选择下一步继续执行每个步骤。
-
在步骤 4“查看和配置”中,选择更新集中化策略。
查看集中化规则
查看集中化规则
-
以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。
-
选择设置。
-
导航到组织选项卡。
-
选择管理规则。
-
查看所有现有集中化规则的列表,然后选择一个特定规则名称以查看其详细信息。
删除集中化规则
删除集中化规则
-
以组织的管理账户或委派管理员账户身份导航至 CloudWatch 控制台。
-
选择设置。
-
导航到组织选项卡。
-
选择管理规则。
-
选择要删除的规则,然后选择删除。
-
确认删除并选择删除。
集中化指标支持的功能
以下 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 兼容的指标查询 |
监控和排查集中化规则
您可以使用 CloudWatch 指标、CloudWatch 控制台和 AWS CloudTrail 日志来监控集中化规则的状态和性能。
使用 AWS CloudTrail 监控集中化 API 调用
AWS CloudTrail 日志对集中化服务进行的 API 调用。关键的 CloudTrail 事件包括:
-
CreateCentralizationRuleForOrganization:创建新的集中化规则时 -
UpdateCentralizationRuleForOrganization:修改现有规则时 -
DeleteCentralizationRuleForOrganization:删除规则时 -
GetCentralizationRuleForOrganization:检索规则详细信息时 -
ListCentralizationRulesForOrganization:列出规则时
排查常见 问题
如果指标未能按预期集中化,请检查以下常见场景:
-
历史指标数据:集中化功能仅处理规则创建后到达的新指标数据。历史数据不会被集中化。
-
未启用可信访问:必须在 AWS Organizations 中为 CloudWatch 启用可信访问,以供管理账户和目标账户使用。
-
源选择标准:验证集中化规则的源选择标准是否包含正确的账户和区域。
-
组织成员资格:源账户和目标账户必须属于同一 AWS Organizations Organizations 组织。
-
指标配额限制:如果目标账户已达到其指标配额限制,将无法摄取新指标。如果需要,可以请求增加配额。
-
规则运行状况:在控制台中或使用
GetCentralizationRuleForOrganizationAPI 检查集中化规则的运行状况。每个集中化规则都有运行状况指示其是否正常运行。规则运行状况包括:-
HEALTHY:规则运行正常,并按配置复制指标数据。 -
UNHEALTHY:规则遇到问题,可能无法正确复制数据。 -
PROVISIONING:组织的集中化正在设置过程中。
-
定价
集中化指标的首份副本免费。请参阅 Amazon CloudWatch 定价