使用 Amazon CloudWatch 监控指标 - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Amazon CloudWatch 监控指标

Amazon S3 的 Amazon CloudWatch 指标可帮助您了解和提高使用 Amazon S3 的应用程序的性能。您可以通过多种方法将 CloudWatch 与 Amazon S3 结合使用。

  • 存储桶的每日存储指标 ‐ 使用 CloudWatch 监控 bucket 存储,此工具可收集来自 Amazon S3 存储的数据并将其处理为便于读取的每日指标。Amazon S3 的这些存储指标每天报告一次并提供给所有客户,无需额外费用。

  • 请求指标 ‐ 监控 Amazon S3 请求,以快速识别运行问题并对其采取措施。这些指标在要处理的某些延迟后每隔 1 分钟提供一次。这些 CloudWatch 指标的计费费率与 Amazon CloudWatch 自定义指标的相同。有关 CloudWatch 定价的信息,请参阅 Amazon CloudWatch 定价。要了解如何选择获取这些指标,请参阅存储桶指标配置

    启用后,将为所有对象操作报告请求指标。默认情况下,这些 1 分钟指标在 Amazon S3 存储桶级别提供。您还可以使用共享前缀或对象标签为收集的指标定义筛选条件。这将使您能够使各个指标筛选条件满足特定业务应用程序、工作流或内部组织的要求。

  • 复制指标 ‐ 监控等待复制的 S3 API 操作的总数、等待复制的对象的总大小以及到目标区域的最长复制时间。只有已启用 S3 Replication Time Control (S3 RTC) 的复制规则才会发布复制指标。

    与 CloudWatch 存储和请求指标不同,您无法按前缀和标签筛选复制指标。但是,您可以根据前缀和标签设置复制规则。然后,您的复制指标将监控您指定的前缀和标签的复制。有关更多信息,请参阅使用 S3 Replication Time Control (S3 RTC) 复制对象

所有 CloudWatch 统计数据会保留 15 个月,从而使您能够访问历史信息,并能够更好地了解您的 Web 应用程序或服务的运行情况。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的什么是 Amazon CloudWatch?

指标与维度

下面列出了 Amazon S3 发送到 CloudWatch 的存储指标和维度。

存储桶的 Amazon S3 CloudWatch 每日存储指标

AWS/S3 命名空间包含存储桶的以下每日存储指标。

指标 说明
BucketSizeBytes

存储桶中存储的 STANDARD 存储类、INTELLIGENT_TIERING 存储类、标准 - 不频繁访问 (STANDARD_IA) 存储类、OneZone - 不频繁访问 (ONEZONE_IA) 存储类、低冗余存储 (RRS) 类、深度存档存储 (S3 Glacier Deep Archive) 类或 Glacier (GLACIER) 存储类的数据量(以字节为单位)。此值通过汇总存储桶中所有对象(当前对象和非当前对象)的大小计算得出,包括所有向存储桶进行分段上传而未完成的所有部分的大小。

有效的存储类型筛选条件:StandardStorageIntelligentTieringStorageStandardIAStorageStandardIASizeOverheadStandardIAObjectOverheadOneZoneIAStorageOneZoneIASizeOverheadReducedRedundancyStorageGlacierStorageGlacierStagingStorageGlacierObjectOverheadGlacierS3ObjectOverheadDeepArchiveStorageDeepArchiveObjectOverheadDeepArchiveS3ObjectOverheadDeepArchiveStagingStorage(请参阅 StorageType 维度)

单位:字节

有效统计数据:Average

NumberOfObjects

存储桶中存储的除 GLACIER 存储类之外的所有存储类的对象总量。此值通过对存储桶中所有对象(当前对象和非当前对象)以及所有向存储桶进行分段上传而未完成的所有部分的总数进行计数而计算得出。

有效的存储类型筛选条件:AllStorageTypes (请参阅 StorageType 维度)

单位:计数

有效统计数据:Average

Amazon S3 CloudWatch 请求指标

AWS/S3 命名空间包含以下请求指标。

指标 说明
AllRequests

向 Amazon S3 存储桶提出的 HTTP 请求 (不论类型如何) 的总数。如果您要将某个指标配置用于某个筛选器,那么该指标将仅返回向存储桶中符合该筛选器要求的对象发出的 HTTP 请求。

单位:计数

有效统计数据:Sum

GetRequests

向 Amazon S3 存储桶中的对象提出的 HTTP GET 请求的数量。这不包括列表操作。

单位:计数

有效统计数据:Sum

注意

面向分页列表的请求(例如列出分段上传列出分段获取存储桶对象版本和其他请求)未包含在此指标中。

PutRequests

向 Amazon S3 存储桶中的对象提出的 HTTP PUT 请求的数量。

单位:计数

有效统计数据:Sum

DeleteRequests

向 Amazon S3 存储桶中的对象提出的 HTTP DELETE 请求的数量。这还包括删除多个对象请求。此指标显示请求的数量,而不是删除的对象的数量。

单位:计数

有效统计数据:Sum

HeadRequests

向 Amazon S3 存储桶提出的 HTTP HEAD 请求的数量。

单位:计数

有效统计数据:Sum

PostRequests

向 Amazon S3 存储桶提出的 HTTP POST 请求的数量。

单位:计数

有效统计数据:Sum

注意

删除多个对象选择对象内容请求未包含在此指标中。

SelectRequests

为 Amazon S3 存储桶中的对象发出的 Amazon S3 选择对象内容请求的数量。

单位:计数

有效统计数据:Sum

SelectScannedBytes

使用 Amazon S3 存储桶中的 Amazon S3 选择对象内容请求扫描的数据的字节数。

单位:字节

有效统计数据:Average (每个请求的字节数)、Sum (每个周期的字节数)、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

SelectReturnedBytes

使用 Amazon S3 存储桶中的 Amazon S3 选择对象内容请求返回的数据的字节数。

单位:字节

有效统计数据:Average (每个请求的字节数)、Sum (每个周期的字节数)、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

ListRequests

列出存储桶内容的 HTTP 请求的数量。

单位:计数

有效统计数据:Sum

BytesDownloaded

为向 Amazon S3 存储桶提出的请求下载的字节数(请求的响应包含正文)。

单位:字节

有效统计数据:Average (每个请求的字节数)、Sum (每个周期的字节数)、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

BytesUploaded

包含向 Amazon S3 存储桶提出的请求正文的已上传字节数。

单位:字节

有效统计数据:Average (每个请求的字节数)、Sum (每个周期的字节数)、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

4xxErrors

向 Amazon S3 存储桶提出的值为 0 或 1 的 HTTP 4xx 客户端错误状态代码请求数。average 统计数据显示了错误率,sum 统计数据显示了每个周期内该类型的错误的计数。

单位:计数

有效统计数据:Average (每个请求的报告数)、Sum (每个周期的报告数)、Min、Max、Sample Count

5xxErrors

向 Amazon S3 存储桶提出的值为 0 或 1 的 HTTP 5xx 服务器错误状态代码请求数。average 统计数据显示了错误率,sum 统计数据显示了每个周期内该类型的错误的计数。

单位:计数

有效统计数据:Average (每个请求的报告数)、Sum (每个周期的报告数)、Min、Max、Sample Count

FirstByteLatency

从 Amazon S3 存储桶收到完整请求到开始返回响应的每请求时间。

单位:毫秒

有效统计数据:Average、Sum、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

TotalRequestLatency

从收到第一个字节到将最后一个字节发送到 Amazon S3 存储桶的已用每请求时间。这包括接收请求正文和发送响应正文所耗的时间 (未包含在 FirstByteLatency 中)。

单位:毫秒

有效统计数据:Average、Sum、Sample Count、Min、Max(与 p100 相同)、任何在 p0.0 和 p99.9 之间的百分位数

Amazon S3 CloudWatch 复制指标

监控等待复制的 S3 API 操作的总数、等待复制的对象的总大小以及到目标区域的最长复制时间。只有已启用 S3 Replication Time Control (S3 RTC) 的复制规则才能发布复制指标。

与 CloudWatch 存储和请求指标不同,您无法按前缀或标签筛选复制指标。但是,您可以根据前缀和标签设置复制规则。然后,您的复制指标会监控您指定的前缀和标签的复制。有关更多信息,请参阅使用 S3 Replication Time Control (S3 RTC) 复制对象

注意

您可以在 Amazon CloudWatch 上启用复制指标的警报。为复制指标设置警报时,请将 Missing data treatment (丢失数据处理) 字段设置为 Treat missing data as ignore (maintain the alarm state) [将丢失的数据视为忽略(保持警报状态)]

指标 说明
ReplicationLatency

对于给定复制规则,复制目标区域落后源区域的最大秒数。

单位:秒

有效统计数据:Max

BytesPendingReplication

给定复制规则的待复制对象的总字节数。

单位:字节

有效统计数据:Max

OperationsPendingReplication

给定复制规则的待复制操作数。

单位:计数

有效统计数据:Max

Amazon S3 CloudWatch 维度

下列维度用于筛选 Amazon S3 指标。

维度

说明

BucketName

此维度筛选您仅为已识别存储桶请求的数据。

StorageType

此维度按以下存储类型筛选您存储在存储桶中的数据:

  • StandardStorage - 用于 STANDARD 存储类中的对象的字节数。

  • IntelligentTieringFAStorage - 用于 INTELLIGENT_TIERING 存储类的经常访问层中的对象的字节数。

  • IntelligentTieringIAStorage - 用于 INTELLIGENT_TIERING 存储类的不经常访问层中的对象的字节数。

  • StandardIAStorage - 用于“标准 - 不经常访问层 (STANDARD_IA)”存储类中的对象的字节数。

  • StandardIASizeOverhead - 用于 STANDARD_IA 存储类中大小小于 128 KB 的对象的字节数。

  • OneZoneIAStorage - 用于“OneZone - 不经常访问层 (ONEZONE_IA)”存储类中的对象的字节数。

  • OneZoneIASizeOverhead - 用于 ONEZONE_IA 存储类中大小小于 128 KB 的对象的字节数。

  • ReducedRedundancyStorage - 用于低冗余存储 (RRS) 类中的对象的字节数。

  • GlacierStorage - 用于 GLACIER 存储类中的对象的字节数。

  • GlacierStagingStorage - 在 GLACIER 存储类中的对象上完成 CompleteMultipartUpload 请求之前,用于多部分对象的各个部分的字节数。

  • GlacierObjectOverhead - 对于每个存档对象,GLACIER 为索引及相关元数据添加 32 KB 存储。标识和还原对象需要此额外数据。将按照 GLACIER 费率对此附加存储收费。

  • GlacierS3ObjectOverhead - 对于存档到 GLACIER 的每个对象,Amazon S3 将 8 KB 存储用于对象和其他元数据的名称。将按照 STANDARD 费率对此附加存储收费。

  • DeepArchiveStorage - 用于 S3 Glacier Deep Archive 存储类中的对象的字节数。

  • DeepArchiveObjectOverhead - 对于每个存档对象,S3 Glacier Deep Archive 会增加 32 KB 的存储用于索引及相关元数据。标识和还原对象需要此额外数据。将按照 S3 Glacier Deep Archive 费率对此附加存储收费。

  • DeepArchiveS3ObjectOverhead - 对于每个存档到 S3 Glacier Deep Archive 的对象,Amazon S3 会使用 8 KB 存储来存放对象名称和其他元数据。将按照 STANDARD 费率对此附加存储收费。

  • DeepArchiveStagingStorage - 在 S3 Glacier Deep Archive 存储类中的对象上完成 CompleteMultipartUpload 请求之前,用于分段对象的各个部分的字节数。

FilterId

此维度将筛选您为存储桶上的请求指标指定的指标配置,例如前缀或标签。您将在创建指标配置时指定筛选条件 ID。有关更多信息,请参阅存储桶的指标配置

访问 CloudWatch 指标

您可以按照以下步骤查看 Amazon S3 的存储指标。要获取涉及的 Amazon S3 指标,您必须设置开始和结束时间戳。对于任意给定 24 小时内的指标,请将时间段设置为 86400 秒(一天的秒数)。另外,请记得设置 BucketNameStorageType 维度。

例如,如果您使用 AWS CLI 以字节为单位获取特定存储桶大小的平均值,则可以使用以下命令。

aws cloudwatch get-metric-statistics --metric-name BucketSizeBytes --namespace AWS/S3 --start-time 2016-10-19T00:00:00Z --end-time 2016-10-20T00:00:00Z --statistics Average --unit Bytes --region us-west-2 --dimensions Name=BucketName,Value=ExampleBucket Name=StorageType,Value=StandardStorage --period 86400 --output json

此示例将生成以下输出。

{ "Datapoints": [ { "Timestamp": "2016-10-19T00:00:00Z", "Average": 1025328.0, "Unit": "Bytes" } ], "Label": "BucketSizeBytes" }

使用 CloudWatch 控制台查看指标

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在导航窗格中,选择 Metrics

  3. 选择 S3 命名空间。

  4. (可选)要查看某个指标,请在搜索框中输入该指标的名称。

  5. (可选)要按 StorageType 维度进行筛选,请在搜索框中输入该存储类的名称。

使用 AWS CLI 查看存储的针对您 AWS 账户的有效指标列表

  • 在命令提示符处,使用以下命令。

    aws cloudwatch list-metrics --namespace "AWS/S3"