Enabling AWS enhanced monitoring

AWS API credentials

Most of the machine metrics can only be obtained through Amazon AWS API.

AWS API usage might incur charges, check AWS API charges for more information.

Machine metrics relating to disk capacity & usage, memory usage, and Operating System process information are only available through the Enhanced Monitoring feature of Amazon RDS. 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.

  1. When creating your IAM, make sure you mark the Programmatic access option. This will generate the credentials used by SQL Monitor.
  2. When setting the permissions, select Attach existing policies directly and select the policies AmazonRDSReadOnlyAccess and CloudWatchReadOnlyAccess.


  3. 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

At the moment you cannot change the API credentials for an Amazon RDS SQL Server. If you want to enable it for an existing instance you'll have to remove it and add it again.
  1. Mark the option Use Amazon RDS API.
  2. 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 ProductAPI ActionUsage (per RDS instance monitored)Requires enhanced monitoring?
CloudWatchGetMetricData7 metrics retrieved in a single request per minuteNo
CloudWatch LogsGetLogEvents1 request per minuteYes

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.

Example scenario

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.

GetMetricData

Calculating the total amount of GetMetricData requests for the given estate size for 30 days:

5 RDS instances * 1,440 minutes per day * 30 days = 216,000 GetMetricData requests


In this example, we'll consider that the GetMetricData is billed $0.00001 per metric requested, i.e. $0.01 per 1,000 metrics requested (price for US East region at the time of this writing).

7 metrics requested * $0.00001 per metric = $0.00007 per GetMetricData request


We then have the price for GetMetricData requests:

216,000 GetMetricData requests * $0.00007 per GetMetricData request = $15.12 (total for 5 RDS instances)

GetLogEvents

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 $15.12




Do you have any feedback on this documentation?

Let us know at sqlmonitorfeedback@red-gate.com


Didn't find what you were looking for?