Amazon RDS Monitoring User Guide

Articles & Tutorials>Amazon RDS Monitoring User Guide
Amazon RDS provides system resource utilization metrics for each of your DB Instances to assist you in choosing DB Instance classes and allocating storage capacity. This document describes how to access these metrics and provides examples using the Amazon CloudWatch API Tools.

Details

Submitted By: John@AWS
AWS Products Used: Amazon EC2
Created On: October 23, 2009 5:22 PM GMT
Last Updated: October 27, 2009 4:30 PM GMT

Getting the CloudWatch Tools

Amazon RDS makes DB Instance metrics available via the Amazon AWS CloudWatch service. You can access your metrics using the Amazon CloudWatch API Tools or via the API itself. The examples in this guide use the API Tools (the API Tools are the Command Line Interface for CloudWatch). Follow the links above to find out more about the CloudWatch service and API Tools.

Once you've downloaded and installed the API Tools, you can use the mon-get-stats command to access your Amazon RDS DB Instance metrics.

How to Retrieve Amazon RDS DB Instance Metrics from CloudWatch

In order to retrieve metrics from Cloudwatch, you need to know the namespace, measure names, and dimensions of the metrics. The namespace for Amazon RDS is "AWS/RDS". Other Amazon Web Services use different CloudWatch namespaces, so it's easy to distinguish between Amazon RDS metrics and metrics from other services. The measure names are "CPUUtilization", "DatabaseConnections", and "FreeStorageSpace", corresponding to the metrics for percent CPU utilization, number of database connections, and amount of free disk storage space respectively. This information is summarized below.

Namespace AWS/RDS
Measure Names CPUUtilization
DatabaseConnections
FreeStorageSpace
Dimensions "DBInstanceIdentifier=DBInstanceId"

The DBInstanceId is the name you provided for the DB Instance when it was created. You can obtain a list of your DBInstanceIds with the rds-describe-db-instances command.

Note to Amazon EC2 customers: Amazon RDS provides different metrics than EC2. If you have monitored EC2 instances as well as Amazon RDS DB Instances, you'll notice that the metrics available from the EC2 service are not the same as the metrics provided by Amazon RDS. You can distinguish EC2 from Amazon RDS metrics by examining the namespace. EC2 metrics are in the namespace "AWS/EC2" whereas Amazon RDS metrics use the "AWS/RDS" namespace.

Examples

Each of the examples uses "acme" as the DBInstanceId. Substitute your DBInstanceId wherever you see "acme" before running the examples on your system.

CPU Utilization

Display average CPU utilization for the DB Instance "acme" for the past 60 minutes. Note that if you do not specify a start or end time, CloudWatch displays metrics for the last 60 minutes.

mon-get-stats CPUUtilization --dimensions="DBInstanceIdentifier=acme" \
 --statistics= Average --namespace="AWS/RDS"

Database connections

Display the minimum, maximum, and average number of database connections at 10 minute intervals for the past hour.

mon-get-stats DatabaseConnections --namespace=AWS/RDS \
--dimensions="DBInstanceIdentifier=acme" \
--statistics=Minimum,Maximum,Average --period=600

Free Storage Space

Display the minimum available free storage space for the past week at one hour intervals and output as CSV data suitable for loading into a spreadsheet or database.

mon-get-stats FreeStorageSpace --namespace=AWS/RDS \
--dimensions="DBInstanceIdentifier=acme" \
--statistics=Minimum --period=3600 --show-long \
--start-time=`date --date="1 week ago" +%FT%T`
©2013, Amazon Web Services, Inc. or its affiliates. All rights reserved.