Monitoring Jump Start: Amazon Aurora
Andreas Wittig – 23 Jul 2018
Besides traditional database engine like PostgreSQL, MySQL, MariaDB, Oracle, and Microsoft SQL Server, AWS offers a cloud-optimized database engine as well: Amazon Aurora. The main benefits of Aurora are: performance, reliability, and scalability. Because Aurora is a fully managed service there are only a few things you have too keep an eye on. We created a CloudFormation template that you can use to monitor any RDS cluster within a minute.
What do I have to monitor?
Each cluster sends metrics to CloudWatch that we can observe with CloudWatch alarms. We recommend to create alarms for the following metrics:
- CPU
- CPUUtilization
- CPUCreditBalance
- Memory
- FreeableMemory
If a metric crosses the alarm’s threshold, you receive an alert in Slack.
Besides metrics, RDS sends out events if the state of the database instance has changed. E.g., because of a failover.
We recommend to subscribe to events of the following categories:
- failover
- failure
- low storage
- maintenance
- notification
- recovery
For each new event, you receive an alert in Slack.
Set up instructions
If you prefer Terraform over CloudFormation checkout the Terraform module marbot-monitoring-rds-cluster.
- Create the CloudFormation stack with a single click
- Ensure that you selected the AWS region of your monitoring target: the database cluster
- Set the EndpointId parameter to the ID of your endpoint. You can get this value by asking @marbot for it on your Slack channel.
- Set the DBClusterIdentifier parameter to the ID of your RDS database cluster.
- Review the threshold parameters
- Save by clicking the Create button.
Take your AWS monitoring to a new level! Chatbot for AWS Monitoring: Configure monitoring, receive alerts, solve incidents.