Skip to main content

Monitoring DynamoDB with CloudWatch

DynamoDB and Cloudwatch monitoring: Amazon Web Services recently introduced a feature to integrate its DynamoDB and CloudWatch components. This feature will allow you to collect and analyze performance metrics. In this post, we’ll cover everything you need to know to get started using them for monitoring AWS resources.

A Brief Overview of DynamoDB and CloudWatch monitoring

Amazon DynamoDB is an entirely managed NoSQL database that allows you to store and retrieve any quantity of data and any level of traffic. With DynamoDB, you can create tables that are easily scaled up or down with no loss in performance. It includes the following features:

  • Scalability. Its seamless scalability can reduce the burden of operating and scaling a distributed database.
  • Hardware provisioning. DynamoDB includes all of the setup tasks, as well as those for configuration, cluster scaling, replication, and software patching that can help offload some administrative tasks.
  • Data. DynamoDB makes it easy to store a large amount of data by creating database tables; retrieval of stored data is also easy.
  • Traffic. It can handle a high level of traffic. You can scale up or scale down the tables created in the database without degrading database performance.

Amazon CloudWatch monitoring is developed to manage and monitor Amazon Web Services (AWS) resources.

CloudWatch allows you to collect and track AWS metrics. To do so, you can define the rules and set threshold values for your metrics. You can create alarms in CloudWatch to be notified of when thresholds have been reached (we’ll show you how later in this post).  CloudWatch gathers information about application performance, resource utilization, and its operational health.

How to View CloudWatch Data for a Table in DynamoDB from the AWS Management Console

Used together, CloudWatch monitoring takes the data from DynamoDB and processes it into readable metrics.  Follow these steps to retrieve CloudWatch data for a table created in DynamoDB from the AWS management console:

  • Sign in at the Amazon Web Service Management console. Then, open the CloudWatch console at http://console.aws.amazon.com/cloudwatch/
  • Click on ‘Metrics’ in the navigation window.
  • Under ‘DynamoDB Metrics’ go to the ‘CloudWatch Metric by Category’ window.’ Select ‘Table Metric’. Now you can explore the complete list of metrics for your table by scrolling down.

All of the available DynamoDB metric options will appear in the ‘viewing list.’ You can use the checkbox beside the resource names and the metrics to select or deselect any metric in the results window. The graphs that show selected metrics are displayed at the bottom of the console.

How to View CloudWatch Data for a Table in DynamoDB from the Command Line Interface 

You can also get results from the table in DynamoDB through the Command Line Interface:

  • Install the AWS Command Line Interface (AWS CLI) by following the instructions on the AWS CLI user guide.
  • Fetch the information through AWS CLI. The parameters that are relevant to DynamoDB are discussed in the DynamoDB Metrics section below.

How to Set Up CloudWatch Monitoring and Alarms
CloudWatch alarms provide real-time notification of events in your AWS resources. You will need to use the DynamoDB console to set these alarms. Then, follow these steps:

  • Select the Alarm tab on the CloudWatch monitoring dashboard.
  • Click on ‘Create Alarm’ to set a new alarm. This alarm will notify you when predefined threshold values have been reached.

Once the alarm has been created, you can add the trigger condition in the ‘whenever’ text box. To set limits, you can use next text box which concerns the average per second. You can also set a specific time period for the alarm.

DynamoDB Metrics

DynamoDB refers metrics to CloudWatch only when they have a non-zero value. For example, when a request generates an HTTP 400 status code, the UserErrors metric will be generated. If there is no HTTP 400 status during a specific period, no metric will be provided for UserErrors. Also, Amazon CloudWatch has different time intervals for DynamoDB metrics. Some metrics have a one-minute interval whereas all others have an interval of five minutes. The following metrics are available from Amazon DynamoDB:

  1. ConditionalCheckFailedRequest

There must be a logical condition to be evaluated before proceeding with any operation. If this condition results, false value ConditionalCheckFailedRequest is incremented by one.

  1. ConsumedReadCapacityUnits

You can get total read capacity consumed for a table and its global secondary index.

  1. ConsumedWriteCapacityUnits

Provides write capacity units consumed within a period of time. You can track throughput as a provision.

  1. OnlineIndexConsumedWriteCapacity

Provides the number of write capacity units that are consumed while inserting a new global secondary index in a table.

  1. OnlineIndexPercentageProgress

This metric gives a percentage of completion of a new global secondary index in a table.

  1. OnlineIndexThrottleEvents

Provides a count of write throttle events recorded when the new global secondary index is added in a table.

  1. ProvisionedReadCapacityUnits

This metric gives a count of provision read capacity for a global secondary index or table.

  1. ProvisionedWriteCapacityUnits

This metrics provides a count of provision write functions for a global secondary index or table.

  1. ReadThrottleEvents

This metric increases ReadThrottleEvents by one if the requested invent is throttled.

  1. ReturnedBytes

This metric returns a count of bytes from GetRecords operations during the specified period.

  1. ReturnedItemCount

Returns the count of items from Query or scans operations during a specific period.

  1. ReturnedRecordsCount

This metric provides stream records return by GetRecords operations during the specific period.

  1. SuccessfulRequestLatency

This provides the time elapsed for successful requests and a count of successful requests.

  1. SystemErrors

This metric request to DynamoDB generates an HTTP 500 status code during a specific period.

  1. ThrottleRequests

If any event of a request crosses the throughput limit as provisioned in advance, the ThorttleRequests metric is increased by one.

  1. UserErrors

The UserErrors metric request to DynamoDB generates an HTTP 400 status code during a specific period.

  1. WriteThrottleEvents

This metric makes a request to DynamoDB when write capacity units for a table or a global secondary index exceed the provisioned write capacity.

Summary

Successful monitoring requires solid metrics. With the integration of these two technologies, you can use CloudWatch to conveniently monitor tables created in DynamoDB.

DynamoDB tables are distributed among many partitions. To get the best results, you need to design the best tables and applications so that the operations of reading and writing will be spread evenly across DynamoDB tables. You must avoid factors like I/O hotspots as they can degrade performance. All of the items of DynamoDB are limited regarding their size, but you can add limitless items in a table.

CloudWatch monitors AWS products for their essential functions, or it can also monitor them in detail. For basic monitoring, CloudWatch sends data points in five-minute intervals, and for detailed monitoring, you can see data points every minute. You will get most of this integration by applying a thorough understanding of all of the DynamoDB metrics explained above. Good luck!

Avatar

Written by

Sudhi Seshachala

Sudhi is part of Cloud Technology Partners & is a trusted advisor and strategic consultant to many C level executives and IT Directors. He brings 18+ years diverse experience covering software, IT operations, cloud technologies, and management. Have led several global teams in HP, Sun/Oracle, SeeBeyond and few startups to deliver scalable and highly available business/technology products and solutions. He has expertise in systems management, monitoring and integrated SaaS and on-premise applications addressing a wide range of business problems.

Related Posts

Avatar
John Chell
— June 13, 2019

AWS Certified Solutions Architect Associate: A Study Guide

The AWS Solutions Architect - Associate Certification (or Sol Arch Associate for short) offers some clear benefits: Increases marketability to employers Provides solid credentials in a growing industry (with projected growth of as much as 70 percent in five years) Market anal...

Read more
  • AWS
  • AWS Certifications
Chris Gambino and Joe Niemiec
Chris Gambino and Joe Niemiec
— June 11, 2019

Moving Data to S3 with Apache NiFi

Moving data to the cloud is one of the cornerstones of any cloud migration. Apache NiFi is an open source tool that enables you to easily move and process data using a graphical user interface (GUI).  In this blog post, we will examine a simple way to move data to the cloud using NiFi c...

Read more
  • AWS
  • S3
Avatar
Chandan Patra
— June 11, 2019

Amazon DynamoDB: 10 Things You Should Know

Amazon DynamoDB is a managed NoSQL service with strong consistency and predictable performance that shields users from the complexities of manual setup.Whether or not you've actually used a NoSQL data store yourself, it's probably a good idea to make sure you fully understand the key ...

Read more
  • AWS
  • DynamoDB
Avatar
Andrew Larkin
— June 6, 2019

The 11 AWS Certifications: Which is Right for You and Your Team?

As companies increasingly shift workloads to the public cloud, cloud computing has moved from a nice-to-have to a core competency in the enterprise. This shift requires a new set of skills to design, deploy, and manage applications in cloud computing.As the market leader and most ma...

Read more
  • AWS
  • AWS Certifications
Sam Ghardashem
Sam Ghardashem
— May 15, 2019

Aviatrix Integration of a NextGen Firewall in AWS Transit Gateway

Learn how Aviatrix’s intelligent orchestration and control eliminates unwanted tradeoffs encountered when deploying Palo Alto Networks VM-Series Firewalls with AWS Transit Gateway.Deploying any next generation firewall in a public cloud environment is challenging, not because of the f...

Read more
  • AWS
Joe Nemer
Joe Nemer
— May 3, 2019

AWS Config Best Practices for Compliance

Use AWS Config the Right Way for Successful ComplianceIt’s well-known that AWS Config is a powerful service for monitoring all changes across your resources. As AWS Config has constantly evolved and improved over the years, it has transformed into a true powerhouse for monitoring your...

Read more
  • AWS
  • Compliance
Avatar
Francesca Vigliani
— April 30, 2019

Cloud Academy is Coming to the AWS Summits in Atlanta, London, and Chicago

Cloud Academy is a proud sponsor of the 2019 AWS Summits in Atlanta, London, and Chicago. We hope you plan to attend these free events that bring the cloud computing community together to connect, collaborate, and learn about AWS. These events are all about learning. You can learn how t...

Read more
  • AWS
  • AWS Summits
Paul Hortop
Paul Hortop
— April 2, 2019

How to Monitor Your AWS Infrastructure

The AWS cloud platform has made it easier than ever to be flexible, efficient, and cost-effective. However, monitoring your AWS infrastructure is the key to getting all of these benefits. Realizing these benefits requires that you follow AWS best practices which constantly change as AWS...

Read more
  • AWS
  • Monitoring
Joe Nemer
Joe Nemer
— April 1, 2019

AWS EC2 Instance Types Explained

Amazon Web Services’ resource offerings are constantly changing, and staying on top of their evolution can be a challenge. Elastic Cloud Compute (EC2) instances are one of their core resource offerings, and they form the backbone of most cloud deployments. EC2 instances provide you with...

Read more
  • AWS
  • EC2
Avatar
Nitheesh Poojary
— March 26, 2019

How DNS Works – the Domain Name System (Part One)

Before migrating domains to Amazon's Route53, we should first make sure we properly understand how DNS worksWhile we'll get to AWS's Route53 Domain Name System (DNS) service in the second part of this series, I thought it would be helpful to first make sure that we properly understand...

Read more
  • AWS
Avatar
Stuart Scott
— March 14, 2019

Multiple AWS Account Management using AWS Organizations

As businesses expand their footprint on AWS and utilize more services to build and deploy their applications, it becomes apparent that multiple AWS accounts are required to manage the environment and infrastructure.  A multi-account strategy is beneficial for a number of reasons as ...

Read more
  • AWS
  • Identity Access Management
Avatar
Sanket Dangi
— February 11, 2019

WaitCondition Controls the Pace of AWS CloudFormation Templates

AWS's WaitCondition can be used with CloudFormation templates to ensure required resources are running.As you may already be aware, AWS CloudFormation is used for infrastructure automation by allowing you to write JSON templates to automatically install, configure, and bootstrap your ...

Read more
  • AWS
  • CloudFormation