Monitor RDS databases with CloudWatch metrics, alarms, Performance Insights, and SNS

Michael Wittig – 15 Jan 2018 (updated 17 Aug 2021)

The database is a critical component of each system that needs monitoring. Amazon RDS provides PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server as a Service. Monitoring an RDS database instance touches multiple parts of AWS. In this post, you learn how to monitor RDS databases.

CloudWatch metrics

Each database sends metrics to CloudWatch that we can monitor with CloudWatch alarms. We recommend creating alarms for the following metrics:

  • BurstBalance: The percent of General Purpose SSD (gp2) burst-bucket I/O credits available.
  • DiskQueueDepth: The number of outstanding I/Os (read/write requests) waiting to access the disk.
  • FreeStorageSpace: The amount of available storage space in bytes.
  • CPUUtilization: The percentage of CPU used by the database
  • CPUCreditBalance: The number of CPU credits left (only applies to db.t* instance types).
  • FreeableMemory: The amount of available random access memory in bytes.
  • SwapUsage: The amount of swap space used in bytes.

Performance Insights

Performance Insights provides additional insights into running RDS databases. We recommend creating alarms for the following metrics:

  • DBLoad: The number of active sessions for the DB engine.

Events via SNS

Besides metrics, RDS sends out events if the state of the database instance has changed. E.g., because of a Multi-AZ failover.

We recommend subscribing to events of the following categories:

  • failover
  • failure
  • low storage
  • maintenance
  • notification
  • recovery

Set up instructions

Monitoring Assistant
Monitor RDS and receive alerts in Slack or Microsoft Teams!

  1. Add marbot to Slack or Microsoft Teams.
  2. Invite marbot to a channel.
  3. Follow the setup wizard.
It couldn't be easier!
Michael Wittig

Michael Wittig

Consultant focusing on Amazon Web Services (AWS). Entrepreneur building marbot.io. Author of Amazon Web Services in Action, Rapid Docker on AWS, and cloudonaut.io.

You can contact me via Email, Twitter, and LinkedIn.

Published on and updated on

marbot teaser

Chatbot for AWS Monitoring

Configure monitoring for Amazon Web Services: CloudWatch, EC2, RDS, EB, Lambda, and more. Receive and manage alerts via Slack. Solve incidents as a team.

Slack
Add to Slack
Microsoft Teams
Add to Teams