

# Amazon CloudWatch metrics for Amazon RDS
<a name="rds-metrics"></a>

Amazon CloudWatch metrics provide insights into the performance and health of Amazon RDS instances and clusters, allowing you to monitor system behavior and make data-driven decisions. These metrics help track resource utilization, database activity, and operational efficiency, offering visibility into how your instances are performing. 

This reference outlines the specific metrics available for Amazon RDS and explains how to interpret and use them to optimize database performance, troubleshoot issues, and ensure high availability.

Amazon RDS publishes metrics to Amazon CloudWatch in the `AWS/RDS` and `AWS/Usage` namespaces.

**Topics**
+ [

## Amazon CloudWatch instance-level metrics for Amazon RDS
](#rds-cw-metrics-instance)
+ [

## Amazon CloudWatch usage metrics for Amazon RDS
](#rds-metrics-usage)

## Amazon CloudWatch instance-level metrics for Amazon RDS
<a name="rds-cw-metrics-instance"></a>

The `AWS/RDS` namespace in Amazon CloudWatch includes the following instance-level metrics.

**Note**  
The Amazon RDS console might display metrics in units that are different from the units sent to Amazon CloudWatch. For example, the Amazon RDS console might display a metric in megabytes (MB), while the metric is sent to Amazon CloudWatch in bytes.


| Metric | Description | Applies to | Units | 
| --- | --- | --- | --- | 
| `BinLogDiskUsage` |  The amount of disk space occupied by binary logs. If automatic backups are enabled for MySQL and MariaDB instances, including read replicas, binary logs are created.  |  MariaDB MySQL  |  Bytes  | 
| `BurstBalance` |  The percent of General Purpose SSD (gp2) burst-bucket I/O credits available.   |  All  |  Percent  | 
| `CheckpointLag` |  The amount of time since the most recent checkpoint.  |    |  Seconds  | 
|  `ConnectionAttempts`  |  The number of attempts to connect to an instance, whether successful or not.  |  MySQL  |  Count  | 
| `CPUUtilization` |  The percentage of CPU utilization.  |  All  |  Percent  | 
| `CPUCreditUsage` | The number of CPU credits spent by the instance for CPU utilization. One CPU credit equals one vCPU running at 100 percent utilization for one minute or an equivalent combination of vCPUs, utilization, and time. For example, you might have one vCPU running at 50 percent utilization for two minutes or two vCPUs running at 25 percent utilization for two minutes.This metric applies only to db.t2, db.t3, and db.t4g instances. We recommend using the T DB instance classes only for development and test servers, or other non-production servers. For more details on the T instance classes, see [DB instance class types](Concepts.DBInstanceClass.Types.md) CPU credit metrics are available at a five-minute frequency only. If you specify a period greater than five minutes, use the `Sum` statistic instead of the `Average` statistic. |    |  Credits (vCPU-minutes)  | 
| `CPUCreditBalance` | The number of earned CPU credits that an instance has accrued since it was launched or started. For T2 Standard, the `CPUCreditBalance` also includes the number of launch credits that have been accrued.Credits are accrued in the credit balance after they are earned, and removed from the credit balance when they are spent. The credit balance has a maximum limit, determined by the instance size. After the limit is reached, any new credits that are earned are discarded. For T2 Standard, launch credits don't count towards the limit.The credits in the `CPUCreditBalance` are available for the instance to spend to burst beyond its baseline CPU utilization.When an instance is running, credits in the `CPUCreditBalance` don't expire. When the instance stops, the `CPUCreditBalance` does not persist, and all accrued credits are lost.CPU credit metrics are available at a five-minute frequency only.This metric applies only to db.t2, db.t3, and db.t4g instances. We recommend using the T DB instance classes only for development and test servers, or other non-production servers. For more details on the T instance classes, see [DB instance class types](Concepts.DBInstanceClass.Types.md) Launch credits work the same way in Amazon RDS as they do in Amazon EC2. For more information, see [Launch credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode-concepts.html#launch-credits) in the *Amazon Elastic Compute Cloud User Guide for Linux Instances*. |    |  Credits (vCPU-minutes)  | 
| `CPUSurplusCreditBalance` |  The number of surplus credits that have been spent by an unlimited instance when its `CPUCreditBalance` value is zero. The `CPUSurplusCreditBalance` value is paid down by earned CPU credits. If the number of surplus credits exceeds the maximum number of credits that the instance can earn in a 24-hour period, the spent surplus credits above the maximum incur an additional charge. CPU credit metrics are available at a 5-minute frequency only.  |  All  |  Credits (vCPU-minutes)   | 
| `CPUSurplusCreditsCharged` |  The number of spent surplus credits that are not paid down by earned CPU credits, and which thus incur an additional charge. Spent surplus credits are charged when any of the following occurs: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html) CPU credit metrics are available at a 5-minute frequency only.  |  All  |  Credits (vCPU-minutes)  | 
| `DatabaseConnections` |  The number of client network connections to the database instance. The number of database sessions can be higher than the metric value because the metric value doesn't include the following: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-metrics.html)  |  All  |  Count  | 
| `DiskQueueDepth` |  The number of outstanding I/Os (read/write requests) waiting to access the disk.  |  All  |  Count  | 
| `DiskQueueDepthLogVolume` |  The number of outstanding I/Os (read/write requests) waiting to access the log volume disk.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count  | 
| `EBSByteBalance%` |  The percentage of throughput credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only.  The metric value is based on the throughput of all volumes, including the root volume, rather than on only those volumes containing database files. To find the instance sizes that support this metric, see the instance sizes with an asterisk (\$1) in the [EBS optimized by default](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html#current) table in *Amazon EC2 User Guide*. The `Sum` statistic is not applicable to this metric.  |  All  |  Percent  | 
| `EBSIOBalance%` |  The percentage of I/O credits remaining in the burst bucket of your RDS database. This metric is available for basic monitoring only. The metric value is based on the IOPS of all volumes, including the root volume, rather than on only those volumes containing database files. To find the instance sizes that support this metric, see [Amazon EBS–optimized instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) in *Amazon EC2 User Guide*. The `Sum` statistic isn't applicable to this metric. This metric is different from `BurstBalance`. To learn how to use this metric, see [Improving application performance and reducing costs with Amazon EBS-Optimized Instance burst capability](https://aws.amazon.com/blogs/compute/improving-application-performance-and-reducing-costs-with-amazon-ebs-optimized-instance-burst-capability/).   |  All  |  Percent  | 
| `FailedSQLServerAgentJobsCount` |  The number of failed Microsoft SQL Server Agent jobs during the last minute.  |  Microsoft SQL Server  |  Count per minute  | 
| `FreeableMemory` |  The amount of available random access memory. For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, this metric reports the value of the `MemAvailable` field of `/proc/meminfo`.   |  All  |  Bytes  | 
| `FreeLocalStorage` |  The amount of available local storage space. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes  | 
| `FreeLocalStoragePercent` |  The percentage of available local storage space. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Percent  | 
| `FreeStorageSpace` |  The amount of available storage space.   |  All  |  Bytes  | 
| `FreeStorageSpaceLogVolume` |  The amount of available storage space on the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes  | 
| `IamDbAuthConnectionRequests` |  The number of connection requests using IAM authentication to the DB instance.  |  All  |  Count  | 
| `MaximumUsedTransactionIDs` |  The maximum transaction IDs that have been used.  |  PostgreSQL  |  Count  | 
| `NetworkReceiveThroughput` |  The incoming (receive) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.  |  All  |  Bytes per second  | 
| `NetworkTransmitThroughput` |  The outgoing (transmit) network traffic on the DB instance, including both customer database traffic and Amazon RDS traffic used for monitoring and replication.  |  All  |  Bytes per second  | 
| `OldestLogicalReplicationSlotLag` |  The lagging size of the Amazon RDS commits a transaction on the source database and the time when RDS applies the transaction on the replica database.  |  PostgreSQL  |  Bytes  | 
| `OldestReplicationSlotLag` |  The lagging size of the replica lagging the most in terms of write-ahead log (WAL) data received.  |  PostgreSQL  |  Bytes  | 
| `ReadIOPS` |  The average number of disk read I/O operations per second.   |  All  |  Count per second  | 
| `ReadIOPSLocalStorage` |  The average number of disk read I/O operations to local storage per second. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Count per second  | 
| `ReadIOPSLogVolume` |  The average number of disk read I/O operations per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count per second  | 
| `ReadLatency` |  The average amount of time taken per disk I/O operation.   |  All  |  Seconds  | 
| `ReadLatencyLocalStorage` |  The average amount of time taken per disk I/O operation for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Seconds  | 
| `ReadLatencyLogVolume` |  The average amount of time taken per disk I/O operation for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Seconds  | 
| `ReadThroughput` |  The average number of bytes read from disk per second.   |  All  |  Bytes per second  | 
| `ReadThroughputLocalStorage` |  The average number of bytes read from disk per second for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes per second  | 
| `ReadThroughputLogVolume` |  The average number of bytes read from disk per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes per second  | 
| `ReplicaLag` |  For read replica configurations, the amount of time a read replica DB instance lags behind the source DB instance. Applies to MariaDB, Microsoft SQL Server, MySQL, Oracle, and PostgreSQL read replicas. For Multi-AZ DB clusters, the difference in time between the latest transaction on the writer DB instance and the latest applied transaction on a reader DB instance.  |    |  Seconds  | 
| `ReplicationChannelLag` |  For multi-source replica configurations, the amount of time a particular channel on the multi-source replica lags behind the source DB instance. For more information, see [Monitoring multi-source replication channels](mysql-multi-source-replication.md#mysql-multi-source-replication-monitoring).  |  MySQL  |  Seconds  | 
| `ReplicationSlotDiskUsage` |  The disk space used by replication slot files.  |  PostgreSQL  |  Bytes  | 
| `SwapUsage` |  The amount of swap space used on the DB instance.  |  MariaDB MySQL Oracle PostgreSQL  |  Bytes  | 
| `TempDbAvailableDataSpace` |  The amount of available data space on the tempdb and the volume where tempdb is located. Use this metric to monitor tempdb data space availability and plan capacity accordingly. Low values may indicate the need to increase storage or optimize queries that heavily use tempdb.  | SQL Server | Bytes | 
| `TempDbAvailableLogSpace` |  The amount of available log space on the tempdb and the volume where tempdb is located. Use this metric to monitor tempdb log space availability and prevent transaction log full conditions. Critical for workloads with large transactions or high concurrency that generate significant log activity.  | SQL Server | Bytes | 
| `TempDbDataFileUsage` |  The percentage of data files used on the tempdb. This metric doesn't account for potential file growth. Use this metric to monitor tempdb data file utilization and identify potential performance bottlenecks. High values may indicate the need to optimize queries that create large temporary objects or increase tempdb size.  | SQL Server | Percent | 
| `TempDbLogFileUsage` |  The percentage of log files used on the tempdb. This metric doesn't account for potential file growth. Use this metric to monitor tempdb log file utilization and prevent performance issues. High values may indicate long-running transactions or excessive logging activity that could impact overall database performance.  | SQL Server | Percent | 
| `TransactionLogsDiskUsage` |  The disk space used by transaction logs.  |  PostgreSQL  |  Bytes  | 
| `TransactionLogsGeneration` |  The size of transaction logs generated per second.  |  PostgreSQL  |  Bytes per second  | 
| `WriteIOPS` |  The average number of disk write I/O operations per second.   |  All  |  Count per second  | 
| `WriteIOPSLocalStorage` |  The average number of disk write I/O operations per second on local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Count per second  | 
| `WriteIOPSLogVolume` |  The average number of disk write I/O operations per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Count per second  | 
| `WriteLatency` |  The average amount of time taken per disk I/O operation.   |  All  |  Seconds  | 
| `WriteLatencyLocalStorage` |  The average amount of time taken per disk I/O operation on local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Seconds  | 
| `WriteLatencyLogVolume` |  The average amount of time taken per disk I/O operation for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Seconds  | 
| `WriteThroughput` |  The average number of bytes written to disk per second.  |  All  |  Bytes per second  | 
| `WriteThroughputLogVolume` |  The average number of bytes written to disk per second for the log volume.  |  DB instances with [dedicated log volume](USER_PIOPS.dlv.md) enabled  |  Bytes per second  | 
| `WriteThroughputLocalStorage` |  The average number of bytes written to disk per second for local storage. This metric only applies to DB instance classes with NVMe SSD instance store volumes. For information about Amazon EC2 instances with NVMe SSD instance store volumes, see [ Instance store volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html#instance-store-volumes). The equivalent RDS DB instance classes have the same instance store volumes. For example, the db.m6gd and db.r6gd DB instance classes have NVMe SSD instance store volumes.  |    |  Bytes per second  | 

## Amazon CloudWatch usage metrics for Amazon RDS
<a name="rds-metrics-usage"></a>

The `AWS/Usage` namespace in Amazon CloudWatch includes account-level usage metrics for your Amazon RDS service quotas. CloudWatch collects usage metrics automatically for all AWS Regions.

For more information, see [CloudWatch usage metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Usage-Metrics.html) in the *Amazon CloudWatch User Guide*. For more information about quotas, see [Quotas and constraints for Amazon RDS](CHAP_Limits.md) and [Requesting a quota increase](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) in the *Service Quotas User Guide*.


| Metric | Description | Units\$1 | 
| --- | --- | --- | 
| AllocatedStorage |  The total storage for all DB instances. The sum excludes temporary migration instances.  |  Gigabytes  | 
| AuthorizationsPerDBSecurityGroup |  The number of ingress rules per DB security group in your AWS account. The used value is the highest number of ingress rules in a DB security group in the account. Other DB security groups in the account might have a lower number of ingress rules.  |  Count  | 
| CustomEndpointsPerDBCluster |  The number of custom endpoints per DB cluster in your AWS account. The used value is the highest number of custom endpoints in a DB cluster in the account. Other DB clusters in the account might have a lower number of custom endpoints.  |  Count  | 
| CustomEngineVersions |  The number of custom engine versions (CEVs) for Amazon RDS Custom in your AWS account.  |  Count  | 
| DBClusterParameterGroups |  The number of DB cluster parameter groups in your AWS account. The count excludes default parameter groups.  |  Count  | 
| DBClusterRoles |  The number of associated AWS Identity and Access Management (IAM) roles per DB cluster in your AWS account. The used value is the highest number of associated IAM roles for a DB cluster in the account. Other DB clusters in the account might have a lower number of associated IAM roles.  |  Count  | 
| DBClusters |  The number of Amazon Aurora DB clusters in your AWS account.  |  Count  | 
| DBInstanceRoles |  The number of associated AWS Identity and Access Management (IAM) roles per DB instance in your AWS account. The used value is the highest number of associated IAM roles for a DB instance in the account. Other DB instances in the account might have a lower number of associated IAM roles.  |  Count  | 
| DBInstances |  The number of DB instances in your AWS account.  |  Count  | 
| DBParameterGroups |  The number of DB parameter groups in your AWS account. The count excludes the default DB parameter groups.  |  Count  | 
| DBSecurityGroups |  The number of security groups in your AWS account. The count excludes the default security group and the default VPC security group.  |  Count  | 
| DBSubnetGroups  |  The number of DB subnet groups in your AWS account. The count excludes the default subnet group.  |  Count  | 
| EventSubscriptions | The number of event notification subscriptions in your AWS account. | Count | 
| Integrations | The number of zero-ETL integrations with Amazon Redshift in your AWS account. | Count | 
| ManualClusterSnapshots |  The number of manually created DB cluster snapshots in your AWS account. The count excludes invalid snapshots.  |  Count  | 
| ManualSnapshots |  The number of manually created DB snapshots in your AWS account. The count excludes invalid snapshots.  |  Count  | 
| OptionGroups |  The number of option groups in your AWS account. The count excludes the default option groups.  |  Count  | 
| Proxies |  The number of RDS proxies in your AWS account.  |  Count  | 
| ReadReplicasPerMaster |  The number of read replicas per DB instance in your account. The used value is the highest number of read replicas for a DB instance in the account. Other DB instances in the account might have a lower number of read replicas.  |  Count  | 
| ReservedDBInstances |  The number of reserved DB instances in your AWS account. The count excludes retired or declined instances.  |  Count  | 
| SubnetsPerDBSubnetGroup |  The number of subnets per DB subnet group in your AWS account. The highest number of subnets for a DB subnet group in the account. Other DB subnet groups in the account might have a lower number of subnets.  |  Count  | 

**Note**  
Amazon RDS doesn't publish units for usage metrics to CloudWatch. The units only appear in the documentation.