Amazon DynamoDB
Developer Guide (API Version 2012-08-10)

Monitoring with Amazon CloudWatch

You can monitor Amazon DynamoDB using CloudWatch, which collects and processes raw data from Amazon DynamoDB into readable, near real-time metrics. These statistics are recorded for a period of two weeks, so that you can access historical information for a better perspective on how your web application or service is performing. By default, Amazon DynamoDB metric data is sent to CloudWatch automatically. For more information, see What Is Amazon CloudWatch? in the Amazon CloudWatch User Guide.

How Do I Use Amazon DynamoDB Metrics?

The metrics reported by Amazon DynamoDB provide information that you can analyze in different ways. The following list shows some common uses for the metrics. These are suggestions to get you started, not a comprehensive list.

How can I?

Relevant Metrics

How can I monitor the rate of TTL deletions on my table?

You can monitor TimeToLiveDeletedItemCount over the specified time period, to track the rate of TTL deletions on your table. For an example of a server-less application using the TimeToLiveDeletedItemCount metric, see Automatically archive items to S3 using DynamoDB Time to Live (TTL) with AWS Lambda and Amazon Kinesis Firehose.

How can I determine how much of my provisioned throughput is being used?

You can monitor ConsumedReadCapacityUnits or ConsumedWriteCapacityUnits over the specified time period, to track how much of your provisioned throughput is being used.

How can I determine which requests exceed the provisioned throughput limits of a table?

ThrottledRequests is incremented by one if any event within a request exceeds a provisioned throughput limit. Then, to gain insight into which event is throttling a request, compare ThrottledRequests with the ReadThrottleEvents and WriteThrottleEvents metrics for the table and its indexes.

How can I determine if any system errors occurred?

You can monitor SystemErrors to determine if any requests resulted in a HTTP 500 (server error) code. Typically, this metric should be equal to zero. If it isn't, then you might want to investigate.


You might encounter internal server errors while working with items. These are expected during the lifetime of a table. Any failed requests can be retried immediately.

On this page: