Amazon DynamoDB

DynamoDB default dashboard

Overview

Amazon DynamoDB is a fully managed NoSQL database cloud service, part of the AWS portfolio. Fast and easily scalable, it is meant to serve applications which require very low latency, even when dealing with large amounts of data. It supports both document and key-value store models, and has properties of both a database and a distributed hash table.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first.

Metric collection

  1. In the AWS integration page, ensure that DynamoDB is enabled under the Metric Collection tab.

  2. Add these permissions to your Datadog IAM policy in order to collect Amazon DynamoDB metrics:

    • dynamodb:ListTables: Used to list available DynamoDB tables.
    • dynamodb:DescribeTable: Used to add metrics on a table size and item count.
    • dynamodb:ListTagsOfResource: Used to collect all tags on a DynamoDB resource.

    For more information, see the DynamoDB policies on the AWS website.

  3. Install the Datadog - Amazon DynamoDB integration.

Log collection

Enable logging

In AWS CloudTrail, create a Trail and select an S3 bucket to write the logs in.

Send logs to Datadog

  1. If you haven’t already, set up the Datadog Forwarder Lambda function in your AWS account.
  2. Once set up, go to the Datadog Forwarder Lambda function. In the Function Overview section, click Add Trigger.
  3. Select the S3 trigger for the Trigger Configuration.
  4. Select the S3 bucket that contains your Amazon DynamoDB logs.
  5. Leave the event type as All object create events.
  6. Click Add to add the trigger to your Lambda.

Go to the Log Explorer to start exploring your logs.

For more information on collecting AWS Services logs, see Send AWS Services Logs with the Datadog Lambda Function.

Data Collected

Metrics

aws.dynamodb.account_max_reads
(count)
The maximum number of read capacity units that can be used by an account.
Shown as read
aws.dynamodb.account_max_table_level_reads
(count)
The maximum number of read capacity units that can be used by a table or global secondary index of an account.
Shown as read
aws.dynamodb.account_max_table_level_writes
(count)
The maximum number of write capacity units that can be used by a table or global secondary index of an account.
Shown as write
aws.dynamodb.account_max_writes
(count)
The maximum number of write capacity units that can be used by an account.
Shown as write
aws.dynamodb.account_provisioned_read_capacity_utilization
(gauge)
The percentage of provisioned read capacity units utilized by an account.
Shown as percent
aws.dynamodb.account_provisioned_write_capacity_utilization
(gauge)
The percentage of provisioned write capacity units utilized by an account.
Shown as percent
aws.dynamodb.conditional_check_failed_requests
(count)
Number of failed attempts to perform conditional writes.
Shown as request
aws.dynamodb.consumed_read_capacity_units
(gauge)
Average number of read capacity units consumed over one second. Can be directly compared to the number of provisioned read capacity units.
Shown as unit
aws.dynamodb.consumed_write_capacity_units
(gauge)
Average number of write capacity units consumed over one second. Can be directly compared to the number of provisioned write capacity units.
Shown as unit
aws.dynamodb.global_secondary_indexes.index_size_bytes
(gauge)
Total size of the the specified secondary index
Shown as byte
aws.dynamodb.global_secondary_indexes.item_count
(gauge)
The number of items in the specified secondary index
Shown as item
aws.dynamodb.item_count
(gauge)
Approximate number of items in table (updated every 6h).
Shown as item
aws.dynamodb.max_provisioned_table_read_capacity_utilization
(gauge)
The percentage of provisioned read capacity units utilized by the highest provisioned read table or global secondary index of an account.
Shown as unit
aws.dynamodb.max_provisioned_table_write_capacity_utilization
(gauge)
The percentage of provisioned write capacity units utilized by the highest provisioned write table or global secondary index of an account.
Shown as unit
aws.dynamodb.online_index_consumed_write_capacity
(gauge)
Number of write capacity units consumed when adding a new global secondary index to a table.
Shown as unit
aws.dynamodb.online_index_percentage_progress
(gauge)
Percentage of completion when a new global secondary index is being added to a table.
Shown as percent
aws.dynamodb.online_index_throttle_events
(gauge)
Number of write throttle events that occur when adding a new global secondary index to a table.
Shown as event
aws.dynamodb.pending_replication_count
(count)
(This metric is for DynamoDB global tables.) The number of item updates that are written to one replica table but that have not yet been written to another replica in the global table.
Shown as unit
aws.dynamodb.provisioned_read_capacity_units
(gauge)
Number of provisioned read capacity units for a table or a global secondary index.
Shown as unit
aws.dynamodb.provisioned_write_capacity_units
(gauge)
Number of provisioned write capacity units for a table or a global secondary index.
Shown as unit
aws.dynamodb.read_throttle_events
(count)
Number of read events that exceeded the preset provisioned throughput limits in the specified time period.
Shown as read
aws.dynamodb.replication_latency
(gauge)
(This metric is for DynamoDB global tables.) The elapsed time between an updated item appearing in the DynamoDB stream for one replica table and that item appearing in another replica in the global table.
Shown as millisecond
aws.dynamodb.returned_bytes
(gauge)
The number of bytes returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
Shown as byte
aws.dynamodb.returned_item_count
(gauge)
The average number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.maximum
(gauge)
The maximum number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.minimum
(gauge)
The minimum number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_item_count.samplecount
(count)
The number of scan or query operations.
Shown as item
aws.dynamodb.returned_item_count.sum
(count)
The total number of items returned by a scan or query operation.
Shown as item
aws.dynamodb.returned_records_count
(count)
The number of stream records returned by GetRecords operations (Amazon DynamoDB Streams) during the specified time period.
Shown as item
aws.dynamodb.successful_request_latency
(gauge)
The average latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.maximum
(gauge)
The maximum latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.minimum
(gauge)
The minimum latency for successful requests.
Shown as millisecond
aws.dynamodb.successful_request_latency.samplecount
(count)
The total number of successful requests.
Shown as request
aws.dynamodb.system_errors
(count)
Number of requests generating a 500 status code response.
Shown as request
aws.dynamodb.table_size
(gauge)
Approximate size of the table (updated every 6h).
Shown as byte
aws.dynamodb.throttled_requests
(count)
Number of user requests that exceeded the preset provisioned throughput limits.
Shown as request
aws.dynamodb.time_to_live_deleted_item_count
(count)
The number of items deleted by Time To Live (TTL) during the specified time period.
Shown as item
aws.dynamodb.transaction_conflict
(count)
Rejected item-level requests due to transactional conflicts between concurrent requests on the same items.
Shown as request
aws.dynamodb.user_errors
(count)
The aggregate of HTTP 400 errors for DynamoDB or Amazon DynamoDB Streams requests for the current region and the current AWS account.
Shown as request
aws.dynamodb.write_throttle_events
(count)
Number of write events that exceeded the preset provisioned throughput limits in the specified time period.
Shown as write

Each of the metrics retrieved from AWS are assigned the same tags that appear in the AWS console, including but not limited to host name, security-groups, and more.

Events

The Amazon DynamoDB integration does not include any events.

Service Checks

The Amazon DynamoDB integration does not include any service checks.

Troubleshooting

Need help? Contact Datadog support.