You are here
AWS - RDS CloudWatch Opspack
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks in AWS.
What Can You Monitor
Opsview Monitor's AWS RDS Opspack provides all the latest metrics to track RDS performance. Service checks included in the Opspack help you identify problem areas in the database such as storage space, IO, throughput and latency issues. Utilize this performance data to correlate information across your AWS environment and build dashboards to share with the team.
|AWS/RDS.BinLogDiskUsage||The amount of disk space occupied by binary logs on the master|
|AWS/RDS.CPUUtilization||The percentage of CPU utilization|
|AWS/RDS.CPUCreditUsage||Must be T2 instance. The number of CPU credits consumed by the instance|
|AWS/RDS.CPUCreditBalance||Must be T2 instance. The number of CPU credits available for the instance to burst beyond its base CPU utilization|
|AWS/RDS.DatabaseConnections||The number of database connections in use|
|AWS/RDS.DiskQueueDepth||The number of outstanding IOs (read/write requests) waiting to access the disk|
|AWS/RDS.FreeableMemory||The amount of available random access memory|
|AWS/RDS.FreeStorageSpace||The amount of available storage space|
|AWS/RDS.ReplicaLag||The amount of time a Read Replica DB instance lags behind the source DB instance|
|AWS/RDS.SwapUsage||The amount of swap space used on the DB instance|
|AWS/RDS.ReadIOPS||The average number of disk I/O operations per second|
|AWS/RDS.WriteIOPS||The average number of disk I/O operations per second|
|AWS/RDS.ReadLatency||The average amount of time taken per disk I/O operation|
|AWS/RDS.WriteLatency||The average amount of time taken per disk I/O operation|
|AWS/RDS.ReadThroughput||The average number of bytes read from disk per second|
|AWS/RDS.WriteThroughput||The average number of bytes written to disk per second|
|AWS/RDS.NetworkReceiveThroughput||The incoming (Receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication|
|AWS/RDS.NetworkTransmitThroughput||The outgoing (Transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication|
AWS - RDS CloudWatch Opspack
Amazon Relational Database Service (Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.
What You Can Monitor
With this opspack installed, users can easily monitor their MySQL, PostgresSQL, MSSQL and Oracle RDS instance running in their AWS account. Users are also able to monitor replicated instances of these servers.
|Service Check||Description||Default Threshold||Unit of Measurement|
|AWS - RDS - Bin Log Disk Usage||The amount of disk space occupied by binary logs on the master||Bytes|
|AWS - RDS - CPU Utilization||The percentage of CPU utilization||Percentage|
|AWS - RDS - CPU Credit Usage||Must be a t2 instance. The number of CPU credits consumed by the instance||vCPU-minutes|
|AWS - RDS - CPU Credit Balance||Must be a t2 instance. The number of CPU credits available for the instance to burst beyond its base CPU utilization||vCPU-minutes|
|AWS - RDS - Database Connections||The number of database connections in use||Count|
|AWS - RDS - Disk Queue Depth||The number of outstanding IO operations waiting to access the disk||Count|
|AWS - RDS - Freeable Memory||The amount of available random access memory||Bytes|
|AWS - RDS - Free Storage Space||The amount of available storage space||Bytes|
|AWS - RDS - Replica Lag||The amount of time a Read Replica DB instance lags behind the Source DB instance||Seconds|
|AWS - RDS - Swap Usage||The amount of swap space used on the DB instance||Bytes|
|AWS - RDS - Read I/O Ops||The average number of disk read I/O operations per second||Count/Second|
|AWS - RDS - Write I/O Ops||The average number of disk write I/O operations per second||Count/Second|
|AWS - RDS - Read Latency||The average amount of Read latency on disk I/O operation||Seconds|
|AWS - RDS - Write Latency||The average amount of Write latency on disk I/O operation||Seconds|
|AWS - RDS - Read Throughput||The average number of bytes read from disk per second||Bytes/Second|
|AWS - RDS - Write Throughput||The average number of bytes written to disk per second||Bytes/Second|
|AWS - RDS - Network Receive Throughput||The incoming network traffic throughput to the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication||Bytes/Second|
|AWS - RDS - Network Transmit Throughput||The outgoing network traffic throughput from the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication||Bytes/Second|
This Opspack knows when it was last run, so when testing the results in the troubleshoot section, you will need to wait a couple minutes each time you recheck the results. The time frame that is searched for is based around the last time the Opspack ran, so running it too quickly will result in no data being found and the service check going into an unknown.
There are two ways of adding your authentication credentials to the host. We recommend adding the access key and secret key directly using the variable 'AWS_CLOUDWATCH_AUTHENTICATION'. You can also add the access key and secret key to a file (default /usr/local/nagios/etc/aws_credentials.cfg) in the following format:
[default] aws_access_key_id = "Your Access Key Id" aws_secret_access_key = "Your Secret Key Id"
Setup and Configuration
Step 1: Add the host template and the 'Cloud - AWS - RDS CloudWatch' Opspack to the host running the RDS software.
Step 2: Add and configure the host Variables tab, add in 'AWS_CLOUDWATCH_AUTHENTICATION' with either the file location or the access key and secret key depending on your preferred way of supplying the access credential. Add the region you hosted in. Then add and configure the 'AWS_RDS_DB_INSTANCE_IDENTIFIER' by adding the instance name.
Step 3: Reload and view the RDS statistics
Setup Amazon Web Services for Monitoring
Users are required to setup their AWS console user to have programmable API access to their AWS account. This requires you to create an AWS user and to add the Access Key ID and Secret access Key to that AWS account. The following steps illustrate how to acquire these keys.
To create IAM user and Access Keys:
- Open IAM Dashboard as described and navigate to Users
- Click Add User
Add User Wizard will open:
Specify User Name (any user name of your choice).
Check Programmatic Access
- Click Next: Permissions
Permissions page will open
This step is optional. If no policies exist it can be Skipped.
- Click Attach Existing policies for the user
- Click Next: Review
Review tab will open:
- Review new user details and click Create User
The final page will open:
Click Show under the Secret access key column
Copy Access key ID and Secret access key into a safe place to be provided in the variables.
Setup and Configuration
To configure and utilize this Opspack, you need to add the 'Cloud - AWS - RDS CloudWatch' Opspack to the Opsview host representing your RDS instance.
- Aurora RDS is not supported with this plugin.
- The Credit Balance and Credit Usage service checks will execute only on a t2 burstable instance.
- The Replica Lag service check will only execute on the replicated copy of the database instance.
Step 1: Add the host template
- Add the Primary Hostname/IP. This should be the Endpoint from the Connectivity & Security tab of an RDS instance in the RDS Console in AWS.
- Host Title Can be any name given to the host - by default Opsview chooses it to be the value in the Primary Hostname/IP field.
- Choose the Host Group. Add the Cloud - AWS - RDS CloudWatch Host template to your Opsview monitor host
For more information, refer to Opsview Knowledge Center - Adding Host Templates to Hosts.
Step 2: Add and configure the variables for the host
|AWS_CLOUDWATCH_AUTHENTICATION||Authentication details for CloudWatch. The Value is not used and therefore can be set to anything. Either override the File Path with the location of your credentials file, or override the Access Key and Secret Key arguments (this approach is recommended as the values will be encrypted). Optionally, override the Region (default: eu-west-1) with the location of your instance if you are not using the default region.|
|AWS_RDS_DB_INSTANCE_IDENTIFIER||Load Balancer name from AWS|
For more information, refer to Opsview Knowledge Center - Adding Variables to Hosts.
Step 3: Apply changes and the system will now be monitored
ODI-309 - AWS Cloudwatch Opspacks
Initial release for AWS Cloudwatch Opspacks
ODI-2732 RDS cloudwatch servicechecks
Updated release of Opspacks to work with Opsview Monitor 6.0
- General bug fixes
- Added RDS api call to get Database instance information.
- Improvement to error handling and error messages
ODI-1154 Release Opspacks for Opsview Monitor 6.0
Initial release of Opspack to work with Opsview Monitor 6.0