RDS DB instance can be monitored using CloudWatch, which collects and processes raw data from RDS into readable, near real-time metrics.
Statistics are recorded so that you can access historical information and gain a better perspective on how the service is performing.
By default, RDS metric data is automatically sent to CloudWatch in 1-minute periods
CloudWatch RDS Metrics
BinLogDiskUsage – Amount of disk space occupied by binary logs on the master. Applies to MySQL read replicas.
CPUUtilization – Percentage of CPU utilization.
DatabaseConnections – Number of database connections in use.
DiskQueueDepth – The number of outstanding IOs (read/write requests) waiting to access the disk.
FreeableMemory – Amount of available random access memory.
FreeStorageSpace – Amount of available storage space.
ReplicaLag – Amount of time a Read Replica DB instance lags behind the source DB instance.
SwapUsage – Amount of swap space used on the DB instance.
ReadIOPS – Average number of disk I/O operations per second.
WriteIOPS – Average number of disk I/O operations per second.
ReadLatency – Average amount of time taken per disk I/O operation.
WriteLatency – Average amount of time taken per disk I/O operation.
ReadThroughput – Average number of bytes read from disk per second.
WriteThroughput – Average number of bytes written to disk per second.
NetworkReceiveThroughput – Incoming (Receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.
NetworkTransmitThroughput – Outgoing (Transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.
RDS Enhanced Monitoring
RDS provides metrics in real-time for the operating system (OS) that the DB instance runs on.
By default, Enhanced Monitoring metrics are stored for 30 days in the CloudWatch Logs, which are different from typical CloudWatch metrics.
CloudWatch vs Enhanced Monitoring Metrics
CloudWatch gathers metrics about CPU utilization from the hypervisor for a DB instance, and Enhanced Monitoring gathers its metrics from an agent on the instance.
Enhanced Monitoring metrics are useful to understand how different processes or threads on a DB instance use the CPU.
There might be differences between the measurements because the hypervisor layer performs a small amount of work. The differences can be greater if the DB instances use smaller instance classes because then there are likely more virtual machines (VMs) that are managed by the hypervisor layer on a single physical instance.
RDS Performance Insights
Performance Insights is a database performance tuning and monitoring feature that helps illustrate the database’s performance and help analyze any issues that affect it
With the Performance Insights dashboard, you can visualize the database load and filter the load by waits, SQL statements, hosts, or users.
RDS CloudTrail Logs
CloudTrail provides a record of actions taken by a user, role, or an AWS service in RDS.
CloudTrail captures all API calls for RDS as events, including calls from the console and from code calls to RDS API operations.
CloudTrail can help determine the request that was made to RDS, the IP address from which the request was made, who made the request, when it was made, and additional details.
RDS provides automated recommendations for database resources.
The recommendations provide best practice guidance by analyzing DB instance configuration, usage, and performance data.
RDS Event Notification
RDS uses the SNS to provide notification when an RDS event occurs
RDS groups the events into categories, which can be subscribed so that a notification is sent when an event in that category occurs.
Event category for a DB instance, DB cluster, DB snapshot, DB cluster snapshot, DB security group, or for a DB parameter group can be subscribed
Event notifications are sent to the email addresses provided during subscription creation
Subscriptions can be easily turned off without deleting a subscription by setting the Enabled radio button to No in the RDS console or by setting the Enabled parameter to false using the CLI or RDS API.
RDS Trusted Advisor
Trusted Advisor inspects the AWS environment and then makes recommendations when opportunities exist to save money, improve system availability and performance, or help close security gaps.
Trusted Advisor has the following RDS-related checks:
RDS Idle DB Instances
RDS Security Group Access Risk
AWS Certification Exam Practice Questions
Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
Open to further feedback, discussion and correction.
You run a web application with the following components Elastic Load Balancer (ELB), 3 Web/Application servers, 1 MySQL RDS database with read replicas, and Amazon Simple Storage Service (Amazon S3) for static content. Average response time for users is increasing slowly. What three CloudWatch RDS metrics will allow you to identify if the database is the bottleneck? Choose 3 answers
The number of outstanding IOs waiting to access the disk
The amount of write latency
The amount of disk space occupied by binary logs on the master.
The amount of time a Read Replica DB Instance lags behind the source DB Instance
The average number of disk I/O operations per second.
Typically, you want your application to check whether a request generated an error before you spend any time processing results. The easiest way to find out if an error occurred is to look for an __________ node in the response from the Amazon RDS API.
In the Amazon CloudWatch, which metric should I be checking to ensure that your DB Instance has enough free storage space?
A user is receiving a notification from the RDS DB whenever there is a change in the DB security group. The user does not want to receive these notifications for only a month. Thus, he does not want to delete the notification. How can the user configure this?
Change the Disable button for notification to “Yes” in the RDS console
Set the send mail flag to false in the DB event notification console
The only option is to delete the notification from the console
Change the Enable button for notification to “No” in the RDS console
A sys admin is planning to subscribe to the RDS event notifications. For which of the below mentioned source categories the subscription cannot be configured?
DB security group
DB options group
DB parameter group
A user is planning to setup notifications on the RDS DB for a snapshot. Which of the below mentioned event categories is not supported by RDS for this snapshot source type?
A system admin is planning to setup event notifications on RDS. Which of the below mentioned services will help the admin setup notifications?
A user has setup an RDS DB with Oracle. The user wants to get notifications when someone modifies the security group of that DB. How can the user configure that?
It is not possible to get the notifications on a change in the security group
Configure SNS to monitor security group changes
Configure event notification on the DB security group
Configure the CloudWatch alarm on the DB for a change in the security group
It is advised that you watch the Amazon CloudWatch “_____” metric (available via the AWS Management Console or Amazon Cloud Watch APIs) carefully and recreate the Read Replica should it fall behind due to replication errors.