Add Amazon RDS SQL Server
Published 17 August 2020
This is a preview feature since version 10.1.17, meaning that it is under active development in upcoming releases. It is being made visible to allow you to see what is coming and to give us feedback. Using this preview feature will not use any of your licence allocations.
This documentation refers to the latest version of SQL Monitor; the support for RDS has been extended since it was initially announced so ensure you have the latest version to get the features described in this document.
As we're still working on collecting metrics for Amazon RDS servers, some information on the Server Overview pages and the global dashboard is not yet available. As we continue to develop this feature we expect more information to appear.
- Go to the Configuration tab and under Monitoring, select Monitored servers.
- Click the Add Amazon RDS SQL Server button. You will be redirected to the Add Amazon RDS SQL Server page:
- In the Amazon RDS SQL Server endpoint field, enter the endpoint for the RDS instance provided by AWS, this will end with ".rds.amazonaws.com".
- In the username and password fields, enter the credentials for accessing the Amazon RDS SQL Server instance.
- You can select a group where the instance will be added, select "Uncategorized" if you don't want to put it in any particular group.
- For capturing machine metrics for your Amazon RDS SQL Server instance, you must mark the Use Amazon RDS API credentials checkbox and provide API Credentials information.
AWS API credentials
Most of the machine metrics can only be obtained through Amazon AWS API.
Some machine metrics are only available through the Enhanced monitoring feature of Amazon RDS, such as disk capacity and memory performance. If you want the full monitoring experience for machine metrics you should enable the enhanced monitoring in your Amazon RDS SQL Server instances. Be aware that enhanced monitoring might incur extra charges, check the RDS Enhanced Monitoring documentation for more information.
Creating an AWS API user
Here is some information about how to create the AWS API user. For full guidance, please consult the Amazon AWS IAM documentation.
- When creating your IAM, make sure you mark the Programmatic access option. This will generate the credentials used by SQL Monitor.
- When setting the permissions, select Attach existing policies directly and select the policies AmazonRDSReadOnlyAccess and CloudWatchReadOnlyAccess.
- At the end of the process, you'll get access to the Access key ID and Secret access key. Make sure you save them to enter them later in SQL Monitor.
Using AWS API credentials in SQL Monitor
- Mark the option Use Amazon RDS API.
- Enter the access and secret key for the AWS user with programmatic access.
AWS API usage and charges
Here's the list of AWS API endpoints used by SQL Monitor:
|AWS Product||API Action||Usage (per RDS instance monitored)||Requires enhanced monitoring?|
|CloudWatch||GetMetricData||5 metrics retrieved with a single request per minute||No|
|CloudWatch Logs||GetLogEvents||1 request per minute||Yes|
You can check the Amazon CloudWatch pricing page to see how much the requests would cost for the region where your RDS instances are located.
Amazon AWS might charge for storing CloudWatch logs and for data transfer, these charges are not covered here as it might change depending on your CloudWatch configuration for keeping historic data and the data transfer charges will depend on whether your Base Monitor or SQL Monitor installation will be hosted in AWS EC2 and if it will be within the same region of the monitored RDS instances.
Consider 5 Amazon RDS SQL Server instances being monitored 24x7 for a period of 30 days.
This is just an example to demonstrate how you can get an estimation of your requests charges, refer to the AWS documentation to get real up-to-date values.
In this example, we'll consider that AWS API charges for GetMetricData are applied to a unit of 5 metrics requested. So every 5 metrics requested will be charged a single "billable unit".
5 metrics requested / 5 metrics = 1 billable request
5 RDS instances * 1 billable request per minute * 1,440 minutes per day * 30 days = 216,000 billable requests
If we consider the charge of $0.01 per 1,000 requests (price for US East region at the time of this writing):
(216,000 requests / 1,000 billable amount of requests) * $0.01 = $2.16
As part of this example, requests to GetLogEvents API endpoint are not charged by AWS, so:
5 RDS instances * 0 billable request per minute * 1,440 minutes per day * 30 days = 0 billable requests
The total estimate price of AWS API requests would be $2.16