Metrics and dimensions - Amazon Simple Storage Service

Metrics and dimensions

The storage metrics and dimensions that Amazon S3 sends to Amazon CloudWatch are listed in the following tables.

Best-effort CloudWatch metrics delivery

CloudWatch metrics are delivered on a best-effort basis. Most requests for an Amazon S3 object that have request metrics result in a data point being sent to CloudWatch.

The completeness and timeliness of metrics are not guaranteed. The data point for a particular request might be returned with a timestamp that is later than when the request was actually processed. The data point for a minute might be delayed before being available through CloudWatch, or it might not be delivered at all. CloudWatch request metrics give you an idea of the nature of traffic against your bucket in near-real time. It is not meant to be a complete accounting of all requests.

It follows from the best-effort nature of this feature that the reports available at the Billing & Cost Management Dashboard might include one or more access requests that do not appear in the bucket metrics.

Amazon S3 daily storage metrics for buckets in CloudWatch

The AWS/S3 namespace includes the following daily storage metrics for buckets.

Metric Description
BucketSizeBytes

The amount of data in bytes that is stored in a bucket in the following storage classes:

  • S3 Standard (STANDARD)

  • S3 Intelligent-Tiering (INTELLIGENT_TIERING)

  • S3 Standard-Infrequent Access (STANDARD_IA)

  • S3 One Zone-Infrequent Access (ONEZONE_IA)

  • Reduced Redundancy Storage (RRS) (REDUCED_REDUNDANCY)

  • S3 Glacier Instant Retrieval (GLACIER_IR)

  • S3 Glacier Deep Archive (DEEP_ARCHIVE)

  • S3 Glacier Flexible Retrieval (GLACIER)

  • S3 Express One Zone (EXPRESS_ONEZONE)

This value is calculated by summing the size of all objects and metadata (such as bucket names) in the bucket (both current and noncurrent objects), including the size of all parts for all incomplete multipart uploads to the bucket.

Note

The S3 Express One Zone storage class is available only for directory buckets.

Valid storage-type filters (see the StorageType dimension):

  • S3 Standard: StandardStorage

  • S3 Intelligent-Tiering: IntelligentTieringFAStorage, IntelligentTieringIAStorage, IntelligentTieringAAStorage, IntelligentTieringAIAStorage, IntelligentTieringDAAStorage

  • S3 Standard-Infrequent Access: StandardIAStorage, StandardIASizeOverhead, StandardIAObjectOverhead

  • S3 One Zone-Infrequent Access: OneZoneIAStorage, OneZoneIASizeOverhead

  • Reduced Redundancy Storage (RRS): ReducedRedundancyStorage

  • S3 Glacier Instant Retrieval: GlacierIRSizeOverhead, GlacierInstantRetrievalStorage

  • S3 Glacier Flexible Retrieval: GlacierStorage, GlacierStagingStorage, GlacierObjectOverhead, GlacierS3ObjectOverhead

  • S3 Glacier Deep Archive: DeepArchiveStorage, DeepArchiveObjectOverhead, DeepArchiveS3ObjectOverhead, DeepArchiveStagingStorage

  • S3 Express One Zone: ExpressOneZoneStorage

Units: Bytes

Valid statistics: Average

For more information about the StorageType dimensions, see Amazon S3 dimensions in CloudWatch.

NumberOfObjects

The total number of objects stored in a general purpose bucket for all storage classes. This value is calculated by counting all objects in the bucket, which includes current and noncurrent objects, delete markers, and the total number of parts for all incomplete multipart uploads to the bucket. For directory buckets with objects in the S3 Express One Zone storage class, this value is calculated by counting all objects in the bucket, but it doesn't include incomplete multiple uploads to the bucket.

Valid storage type filters: AllStorageTypes (see the StorageType dimension)

Units: Count

Valid statistics: Average

Amazon S3 request metrics in CloudWatch

The AWS/S3 namespace includes the following request metrics. These metrics include non-billable requests (in the case of GET requests from CopyObject and Replication).

Note

Amazon S3 request metrics in CloudWatch aren't supported for directory buckets.

Metric Description
AllRequests

The total number of HTTP requests made to an Amazon S3 bucket, regardless of type. If you're using a metrics configuration with a filter, then this metric returns only the HTTP requests that meet the filter's requirements.

Units: Count

Valid statistics: Sum

GetRequests

The number of HTTP GET requests made for objects in an Amazon S3 bucket. This doesn't include list operations. This metric is incremented for the source of each CopyObject request.

Units: Count

Valid statistics: Sum

Note

Paginated list-oriented requests, such as ListMultipartUploads, ListParts, ListObjectVersions, and others, are not included in this metric.

PutRequests

The number of HTTP PUT requests made for objects in an Amazon S3 bucket. This metric is incremented for the destination of each CopyObject request.

Units: Count

Valid statistics: Sum

DeleteRequests

The number of HTTP DELETE requests made for objects in an Amazon S3 bucket. This metric also includes DeleteObjects requests. This metric shows the number of requests made, not the number of objects deleted.

Units: Count

Valid statistics: Sum

HeadRequests

The number of HTTP HEAD requests made to an Amazon S3 bucket.

Units: Count

Valid statistics: Sum

PostRequests

The number of HTTP POST requests made to an Amazon S3 bucket.

Units: Count

Valid statistics: Sum

Note

DeleteObjects and SelectObjectContent requests are not included in this metric.

SelectRequests

The number of Amazon S3 SelectObjectContent requests made for objects in an Amazon S3 bucket.

Units: Count

Valid statistics: Sum

SelectBytesScanned

The number of bytes of data scanned with Amazon S3 SelectObjectContent requests in an Amazon S3 bucket.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

SelectBytesReturned

The number of bytes of data returned with Amazon S3 SelectObjectContent requests in an Amazon S3 bucket.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

ListRequests

The number of HTTP requests that list the contents of a bucket.

Units: Count

Valid statistics: Sum

BytesDownloaded

The number of bytes downloaded for requests made to an Amazon S3 bucket, where the response includes a body.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

BytesUploaded

The number of bytes uploaded for requests made to an Amazon S3 bucket, where the request includes a body.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

4xxErrors

The number of HTTP 4xx client error status code requests made to an Amazon S3 bucket with a value of either 0 or 1. The Average statistic shows the error rate, and the Sum statistic shows the count of that type of error, during each period.

Units: Count

Valid statistics: Average (reports per request), Sum (reports per period), Min, Max, Sample Count

5xxErrors

The number of HTTP 5xx server error status code requests made to an Amazon S3 bucket with a value of either 0 or 1. The Average statistic shows the error rate, and the Sum statistic shows the count of that type of error, during each period.

Units: Count

Valid statistics: Average (reports per request), Sum (reports per period), Min, Max, Sample Count

FirstByteLatency

The per-request time from the complete request being received by an Amazon S3 bucket to when the response starts to be returned.

Units: Milliseconds

Valid statistics: Average, Sum, Min, Max (same as p100), Sample Count, any percentile between p0.0 and p100

TotalRequestLatency

The elapsed per-request time from the first byte received to the last byte sent to an Amazon S3 bucket. This metric includes the time taken to receive the request body and send the response body, which is not included in FirstByteLatency.

Units: Milliseconds

Valid statistics: Average, Sum, Min, Max (same as p100), Sample Count, any percentile between p0.0 and p100

S3 Replication metrics in CloudWatch

You can monitor the progress of replication with S3 Replication metrics by tracking bytes pending, operations pending, and replication latency. For more information, see Monitoring progress with replication metrics.

Note

You can enable alarms for your replication metrics in Amazon CloudWatch. When you set up alarms for your replication metrics, set the Missing data treatment field to Treat missing data as ignore (maintain the alarm state).

Metric Description
ReplicationLatency

The maximum number of seconds by which the replication destination AWS Region is behind the source AWS Region for a given replication rule.

Units: Seconds

Valid statistics: Max

BytesPendingReplication

The total number of bytes of objects pending replication for a given replication rule.

Units: Bytes

Valid statistics: Max

OperationsPendingReplication

The number of operations pending replication for a given replication rule.

Units: Count

Valid statistics: Max

OperationsFailedReplication

The number of operations that failed to replicate for a given replication rule.

Units: Count

Valid statistics: Sum (total number of failed operations), Average (failure rate), Sample Count (total number of replication operations)

S3 Storage Lens metrics in CloudWatch

You can publish S3 Storage Lens usage and activity metrics to Amazon CloudWatch to create a unified view of your operational health in CloudWatch dashboards. S3 Storage Lens metrics are published to the AWS/S3/Storage-Lens namespace in CloudWatch. The CloudWatch publishing option is available for S3 Storage Lens dashboards that have been upgraded to advanced metrics and recommendations.

For a list of S3 Storage Lens metrics that are published to CloudWatch, see Amazon S3 Storage Lens metrics glossary. For a complete list of dimensions, see Dimensions.

S3 Object Lambda request metrics in CloudWatch

S3 Object Lambda includes the following request metrics.

Metric Description
AllRequests

The total number of HTTP requests made to an Amazon S3 bucket by using an Object Lambda Access Point.

Units: Count

Valid statistics: Sum

GetRequests

The number of HTTP GET requests made for objects by using an Object Lambda Access Point. This metric does not include list operations.

Units: Count

Valid statistics: Sum

BytesUploaded

The number of bytes uploaded to an Amazon S3 bucket by using an Object Lambda Access Point, where the request includes a body.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

PostRequests

The number of HTTP POST requests made to an Amazon S3 bucket by using an Object Lambda Access Point.

Units: Count

Valid statistics: Sum

PutRequests

The number of HTTP PUT requests made for objects in an Amazon S3 bucket by using an Object Lambda Access Point.

Units: Count

Valid statistics: Sum

DeleteRequests

The number of HTTP DELETE requests made for objects in an Amazon S3 bucket by using an Object Lambda Access Point. This metric includes DeleteObjects requests. This metric shows the number of requests made, not the number of objects deleted.

Units: Count

Valid statistics: Sum

BytesDownloaded

The number of bytes downloaded for requests made to an Amazon S3 bucket by using an Object Lambda Access Point, where the response includes a body.

Units: Bytes

Valid statistics: Average (bytes per request), Sum (bytes per period), Sample Count, Min, Max (same as p100), any percentile between p0.0 and p99.9

FirstByteLatency

The per-request time from the complete request being received by an Amazon S3 bucket through an Object Lambda Access Point to when the response starts to be returned. This metric is dependent on the AWS Lambda function's running time to transform the object before the function returns the bytes to the Object Lambda Access Point.

Units: Milliseconds

Valid statistics: Average, Sum, Min, Max (same as p100), Sample Count, any percentile between p0.0 and p100

TotalRequestLatency

The elapsed per-request time from the first byte received to the last byte sent to an Object Lambda Access Point. This metric includes the time taken to receive the request body and send the response body, which is not included in FirstByteLatency.

Units: Milliseconds

Valid statistics: Average, Sum, Min, Max (same as p100), Sample Count, any percentile between p0.0 and p100

HeadRequests

The number of HTTP HEAD requests made to an Amazon S3 bucket by using an Object Lambda Access Point.

Units: Count

Valid statistics: Sum

ListRequests

The number of HTTP GET requests that list the contents of an Amazon S3 bucket. This metric includes both ListObjects and ListObjectsV2 operations.

Units: Count

Valid statistics: Sum

4xxErrors

The number of HTTP 4xx client error status code requests made to an Amazon S3 bucket by using an Object Lambda Access Point with a value of either 0 or 1. The Average statistic shows the error rate, and the Sum statistic shows the count of that type of error, during each period.

Units: Count

Valid statistics: Average (reports per request), Sum (reports per period), Min, Max, Sample Count

5xxErrors

The number of HTTP 5xx server error status code requests made to an Amazon S3 bucket by using an Object Lambda Access Point with a value of either 0 or 1. The Average statistic shows the error rate, and the Sum statistic shows the count of that type of error, during each period.

Units: Count

Valid statistics: Average (reports per request), Sum (reports per period), Min, Max, Sample Count

ProxiedRequests

The number of HTTP requests to an Object Lambda Access Point that return the standard Amazon S3 API response. (Such requests do not have a Lambda function configured.)

Units: Count

Valid statistics: Sum

InvokedLambda

The number of HTTP requests to an S3 object where a Lambda function was invoked.

Units: Count

Valid statistics: Sum

LambdaResponseRequests

The number of WriteGetObjectResponse requests made by the Lambda function. This metric applies only to GetObject requests.

LambdaResponse4xx

The number of HTTP 4xx client errors that occur when calling WriteGetObjectResponse from a Lambda function. This metric provides the same information as 4xxErrors, but only for WriteGetObjectResponse calls.

LambdaResponse5xx

The number of HTTP 5xx server errors that occur when calling WriteGetObjectResponse from a Lambda function. This metric provides the same information as 5xxErrors, but only for WriteGetObjectResponse calls.

Amazon S3 dimensions in CloudWatch

The following dimensions are used to filter Amazon S3 metrics.

Dimension

Description

BucketName

This dimension filters the data that you request for the identified bucket only.

StorageType

This dimension filters the data that you have stored in a bucket by the following types of storage:

  • StandardStorage – The number of bytes used for objects in the STANDARD storage class.

  • IntelligentTieringAAStorage – The number of bytes used for objects in the Archive Access tier of the INTELLIGENT_TIERING storage class.

  • IntelligentTieringAIAStorage – The number of bytes used for objects in the Archive Instant Access tier of the INTELLIGENT_TIERING storage class.

  • IntelligentTieringDAAStorage – The number of bytes used for objects in the Deep Archive Access tier of the INTELLIGENT_TIERING storage class.

  • IntelligentTieringFAStorage – The number of bytes used for objects in the Frequent Access tier of the INTELLIGENT_TIERING storage class.

  • IntelligentTieringIAStorage – The number of bytes used for objects in the Infrequent Access tier of the INTELLIGENT_TIERING storage class.

  • StandardIAStorage – The number of bytes used for objects in the S3 Standard-Infrequent Access (STANDARD_IA) storage class.

  • StandardIASizeOverhead – The number of bytes used for objects smaller than 128 KB in the STANDARD_IA storage class.

  • IntAAObjectOverhead – For each object in the INTELLIGENT_TIERING storage class in the Archive Access tier, S3 Glacier adds 32 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged S3 Glacier Flexible Retrieval rates for this additional storage.

  • IntAAS3ObjectOverhead – For each object in the INTELLIGENT_TIERING storage class in the Archive Access tier, Amazon S3 uses 8 KB of storage for the name of the object and other metadata. You are charged S3 Standard rates for this additional storage.

  • IntDAAObjectOverhead – For each object in the INTELLIGENT_TIERING storage class in the Deep Archive Access tier, S3 Glacier adds 32 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged S3 Glacier Deep Archive storage rates for this additional storage.

  • IntDAAS3ObjectOverhead – For each object in the INTELLIGENT_TIERING storage class in the Deep Archive Access tier, Amazon S3 adds 8 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged S3 Standard rates for this additional storage.

  • OneZoneIAStorage – The number of bytes used for objects in the S3 One Zone-Infrequent Access (ONEZONE_IA) storage class.

  • OneZoneIASizeOverhead – The number of bytes used for objects smaller than 128 KB in the ONEZONE_IA storage class.

  • ReducedRedundancyStorage – The number of bytes used for objects in the Reduced Redundancy Storage (RRS) class.

  • GlacierIRSizeOverhead – The number of bytes used for objects smaller than 128 KB in the S3 Glacier Instant Retrieval storage class.

  • GlacierInstantRetrievalStorage – The number of bytes used for objects in the S3 Glacier Instant Retrieval storage class.

  • GlacierStorage – The number of bytes used for objects in the S3 Glacier Flexible Retrieval storage class.

  • GlacierStagingStorage – The number of bytes used for parts of multipart upload objects before the CompleteMultipartUpload request is completed on objects in the S3 Glacier Flexible Retrieval storage class.

  • GlacierObjectOverhead – For each archived object, S3 Glacier adds 32 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged S3 Glacier Flexible Retrieval rates for this additional storage.

  • GlacierS3ObjectOverhead – For each object archived to S3 Glacier Flexible Retrieval, Amazon S3 uses 8 KB of storage for the name of the object and other metadata. You are charged S3 Standard rates for this additional storage.

  • DeepArchiveStorage – The number of bytes used for objects in the S3 Glacier Deep Archive storage class.

  • DeepArchiveObjectOverhead – For each archived object, S3 Glacier adds 32 KB of storage for index and related metadata. This extra data is necessary to identify and restore your object. You are charged S3 Glacier Deep Archive rates for this additional storage.

  • DeepArchiveS3ObjectOverhead – For each object archived to S3 Glacier Deep Archive, Amazon S3 uses 8 KB of storage for the name of the object and other metadata. You are charged S3 Standard rates for this additional storage.

  • DeepArchiveStagingStorage – The number of bytes used for parts of multipart upload objects before the CompleteMultipartUpload request is completed on objects in the S3 Glacier Deep Archive storage class.

  • ExpressOneZoneStorage – The number of bytes used for objects in the S3 Express One Zone storage class.

FilterId

This dimension filters metrics configurations that you specify for the request metrics on a bucket. When you create a metrics configuration, you specify a filter ID (for example, a prefix, a tag, or an access point). For more information, see Creating a metrics configuration.

S3 Replication dimensions in CloudWatch

The following dimensions are used to filter S3 Replication metrics.

Dimension

Description

SourceBucket

The name of the bucket objects are replicated from.

DestinationBucket

The name of the bucket objects are replicated to.

RuleId

A unique identifier for the rule that triggered this replication metric to update.

S3 Storage Lens dimensions in CloudWatch

For a list of dimensions that are used to filter S3 Storage Lens metrics in CloudWatch, see Dimensions.

S3 Object Lambda request dimensions in CloudWatch

The following dimensions are used to filter data from an Object Lambda Access Point.

Dimension Description
AccessPointName

The name of the access point of which requests are being made.

DataSourceARN

The source the Object Lambda Access Point is retrieving the data from. If the request invokes a Lambda function this refers to the Lambda Amazon Resource Name (ARN). Otherwise this refers to the access point ARN.

Amazon S3 usage metrics

You can use CloudWatch usage metrics to provide visibility into your account's usage of resources. Use these metrics to visualize your current service usage on CloudWatch graphs and dashboards.

Amazon S3 usage metrics correspond to AWS service quotas. You can configure alarms that alert you when your usage approaches a service quota. For more information about CloudWatch integration with service quotas, see AWS usage metrics in the Amazon CloudWatch User Guide.

Amazon S3 publishes the following metrics in the AWS/Usage namespace.

Metric Description

ResourceCount

The number of the specified resources running in your account. The resources are defined by the dimensions associated with the metric.

The following dimensions are used to refine the usage metrics that are published by Amazon S3.

Dimension Description
Service

The name of the AWS service containing the resource. For Amazon S3 usage metrics, the value for this dimension is S3.

Type

The type of entity that is being reported. Currently, the only valid value for Amazon S3 usage metrics is Resource.

Resource

The type of resource that is running. Currently, the only valid value for Amazon S3 usage metrics is GeneralPurposeBuckets, which returns the number of general purpose buckets in an AWS account. General purpose buckets allow objects that are stored across all storage classes, except S3 Express One Zone.