使用 Firehose 自定义设置 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Firehose 自定义设置

使用此方法创建指标流并将其导向 Amazon Data Firehose 传输流,该流会将您的 CloudWatch 指标传送到所需位置。您可以将它们流式传输到诸如 Amazon S3 之类的数据湖,或传输到 Firehose 支持的任何目标或端点,包括第三方提供商。

原生支持 JSON、OpenTelemetry 1.0.0 和 OpenTelemetry 0.7.0 格式,或者您可以在 Firehose 传输流中配置转换,将数据转换为其他格式,例如 Parquet。借助指标流,您可以持续更新监控数据,或者将此 CloudWatch 指标数据与账单和性能数据相结合,以创建丰富的数据集。然后,您可以使用 Amazon Athena 等工具深入了解成本优化、资源性能和资源利用率。

您可以使用 CloudWatch 控制台、Amazon CLI、Amazon CloudFormation 或 Amazon Cloud Development Kit (Amazon CDK) 设置指标流。

您用于指标流的 Firehose 传输流必须位于指标流设置所在的同一账户和区域中。要实现跨区域功能,您可以将 Firehose 传输流配置为流式传输到位于不同账户或不同区域中的最终目标位置。

CloudWatch 控制台

本部分介绍如何通过 CloudWatch 控制台使用 Firehose 设置指标流。

要使用 Firehose 设置自定义指标流
  1. 访问 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择 Metrics(指标)、Streams(流)。然后选择 Create metric stream(创建指标流)。

  3. (可选)如果您登录的账户在 CloudWatch 跨账户可观测性中设置为监控账户,您可以选择是否包含来自此指标流中关联源账户的指标。要包含来自源账户的指标,请选择 Include source account metrics(包含源账户指标)。

  4. 选择使用 Firehose 自定义设置

  5. 对于选择 Kinesis Data Firehose 流,请选择要使用的 Firehose 传输流。必须位于同一账户中。此选项的默认格式为 OpenTelemetry 0.7.0,但您可以在此过程的后续步骤中更改格式。

    然后在选择您的 Firehose 传输流下选择要使用的 Firehose 传输流。

  6. (可选)您可以选择选择现有服务角色来使用现有 IAM 角色,而不必让 CloudWatch 为您创建新角色。

  7. (可选)要更改方案的默认输出格式,请选择 Change output format(更改输出格式)。支持的格式为 JSON、OpenTelemetry 1.0.0 和 OpenTelemetry 0.7.0。

  8. 对于要进行流式传输的指标,请选择所有指标选择指标

    如果您选择所有指标,则该账户的所有指标都将包含在流中。

    请仔细考虑是否要流式传输所有指标,因为流式传输的指标越多,您的指标流费用就越高。

    如果选择的是选择指标,请执行以下操作中的一项:

    • 要流式传输大多数指标命名空间,请选择排除,然后选择要排除的命名空间或指标。在排除中指定命名空间时,可以选择该命名空间中要排除的一些特定指标。如果选择排除某个命名空间,但随后没有选择该命名空间中的指标,则该命名空间中的所有指标都将被排除。

    • 要在指标流中仅包含少数指标命名空间或指标,请选择包含,然后选择要包含的命名空间或指标。如果选择包含某个命名空间,但随后没有选择该命名空间中的指标,则该命名空间中的所有指标都将包含在内。

  9. (可选)要流式传输其中除 Minimum、Maximum、SampleCount 和 Sum 外的一些指标的其他统计数据,请选择添加其他统计数据。要么选择 Add recommended metrics(添加推荐的指标)添加一些常用的统计数据,要么手动选择要针对其流式传输额外统计数据的命名空间和指标名称。接下来,选择要流式传输的额外统计数据。

    然后,要选择另一组指标,以流式传输另一组额外统计数据,请选择 Add additional statistics(添加额外统计数据)。每个指标可以包含多达 20 个额外统计数据,一个指标流中有多达 100 个指标可以包含额外统计数据。

    流式传输额外统计数据会产生更多费用。有关更多信息,请参阅可以流式传输的统计数据

    有关额外统计数据的定义,请参阅 CloudWatch 统计数据定义

  10. (可选)可以在 Metric stream name(指标流名称)下自定义新指标流的名称。

  11. 选择 Create metric filter(创建指标流)

Amazon CLI 或 Amazon API

使用以下步骤创建 CloudWatch 指标流。

使用 Amazon CLI 或 Amazon API 创建指标流
  1. 如果您要流式传输到 Amazon S3,请先创建存储桶。有关更多信息,请参阅创建存储桶

  2. 创建 Firehose 传输流。有关更多信息,请参阅创建 Firehose 流

  3. 创建使 CloudWatch 能够向 Firehose 传输流写入的 IAM 角色。有关该角色内容的更多信息,请参阅 CloudWatch 和 Firehose 之间的信任关系

  4. 使用 aws cloudwatch put-metric-stream CLI 命令或 PutMetricStream API 来创建 CloudWatch 指标流。

Amazon CloudFormation

您可以使用 Amazon CloudFormation 设置指标流。有关更多信息,请参阅 AWS::CloudWatch::MetricStream

使用 Amazon CloudFormation 创建指标流
  1. 如果您要流式传输到 Amazon S3,请先创建存储桶。有关更多信息,请参阅创建存储桶

  2. 创建 Firehose 传输流。有关更多信息,请参阅创建 Firehose 流

  3. 创建使 CloudWatch 能够向 Firehose 传输流写入的 IAM 角色。有关该角色内容的更多信息,请参阅 CloudWatch 和 Firehose 之间的信任关系

  4. 在 Amazon CloudFormation 中创建指标流。有关更多信息,请参阅 AWS::CloudWatch::MetricStream

Amazon Cloud Development Kit (Amazon CDK)

您可以使用 Amazon Cloud Development Kit (Amazon CDK) 设置指标流。

使用 Amazon CDK 创建指标流
  1. 如果您要流式传输到 Amazon S3,请先创建存储桶。有关更多信息,请参阅创建存储桶

  2. 创建 Firehose 传输流。有关更多信息,请参阅创建 Amazon Data Firehose 传输流

  3. 创建使 CloudWatch 能够向 Firehose 传输流写入的 IAM 角色。有关该角色内容的更多信息,请参阅 CloudWatch 和 Firehose 之间的信任关系

  4. 创建指标流。指标流资源在 Amazon CDK 中作为名为 CfnMetricStream 的 Level 1 (L1) Construct 提供。有关更多信息,请参阅使用 L1 Construct