Amazon CloudWatch metrics for Amazon Aurora
The AWS/RDS
namespace includes the following metrics that apply to database entities running on
Amazon Aurora. Some metrics apply to either Aurora MySQL, Aurora PostgreSQL, or both. Furthermore, some metrics are
specific to a DB cluster, primary DB instance, replica DB instance, or all DB instances.
For Aurora global database metrics, see Amazon CloudWatch metrics for write forwarding in Aurora MySQL and Amazon CloudWatch metrics for write forwarding in Aurora PostgreSQL. For Aurora parallel query metrics, see Monitoring parallel query for Aurora MySQL.
Topics
Cluster-level metrics for Amazon Aurora
The following table describes metrics that are specific to Aurora clusters.
Metric | Description | Applies to | Units |
---|---|---|---|
|
In an Aurora Global Database, the amount of redo log data transferred from the source AWS Region to a secondary AWS Region. NoteThis metric is available only in secondary AWS Regions. |
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
In an Aurora Global Database, the measure of how far the secondary cluster is behind the primary cluster for both user transactions and system transactions. NoteThis metric is available only in secondary AWS Regions. |
Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
In an Aurora Global Database, the number of write I/O operations replicated from the primary
AWS Region to the cluster volume in a secondary AWS Region. The billing calculations for the
secondary AWS Regions in a global database use NoteThis metric is available only in secondary AWS Regions. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
For an Aurora Global Database, the amount of lag when replicating updates from the primary AWS Region. NoteThis metric is available only in secondary AWS Regions. |
Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
In an Aurora Global Database, the recovery point objective (RPO) lag time. This metric measures how far the secondary cluster is behind the primary cluster for user transactions. NoteThis metric is available only in secondary AWS Regions. |
Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
The remaining available space for the cluster volume. As the cluster volume grows, this value decreases. If it reaches zero, the cluster reports an out-of-space error. If you want to detect whether your Aurora MySQL cluster is approaching the size limit of
128 tebibytes (TiB), this value is simpler and more reliable to monitor than |
Aurora MySQL |
Bytes |
|
The number of backtrack change records created over 5 minutes for your DB cluster. |
Aurora MySQL |
Count per 5 minutes |
|
The number of backtrack change records used by your DB cluster. |
Aurora MySQL |
Count |
|
The total amount of backup storage used to support the point-in-time restore feature within the
Aurora DB cluster's backup retention window. This amount is included in the total reported by the
|
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The current capacity of an Aurora Serverless DB cluster. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The total amount of backup storage consumed by all Aurora snapshots for an Aurora DB cluster
outside its backup retention window. This amount is included in the total reported by the
|
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The total amount of backup storage in bytes for which you are billed for a given Aurora DB
cluster. The metric includes the backup storage measured by the
|
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The amount of storage used by your Aurora DB cluster. This value affects the cost of the Aurora DB cluster (for pricing information, see the Amazon RDS pricing page This value doesn't reflect some internal storage allocations that don't affect
storage billing. For Aurora MySQL you can anticipate out-of-space issues more accurately by testing whether
For clusters that are clones, the value of this metric depends on the amount of data added or changed on the clone. The metric can also increase or decrease when the original cluster is deleted, or as new clones are added or deleted. For details, see Deleting a source cluster volume |
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The number of billed read I/O operations from a cluster volume within a 5-minute interval. Billed read operations are calculated at the cluster volume level, aggregated from all instances in the Aurora DB cluster, and then reported at 5-minute intervals. The value is calculated by taking the value of the Read operations metric over a 5-minute period. You can determine the amount of billed read operations per second by taking the value of the Billed read operations metric and dividing by 300 seconds. For example, if the Billed read operations returns 13,686, then the billed read operations per second is 45 (13,686 / 300 = 45.62). You accrue billed read operations for queries that request database pages that aren't in the buffer cache and must be loaded from storage. You might see spikes in billed read operations as query results are read from storage and then loaded into the buffer cache. Tip If your Aurora MySQL cluster uses parallel query, you might see an increase in
|
Aurora MySQL and Aurora PostgreSQL |
Count per 5 minutes |
|
The number of write disk I/O operations to the cluster volume, reported at 5-minute intervals.
For a detailed description of how billed write operations are calculated, see
|
Aurora MySQL and Aurora PostgreSQL |
Count per 5 minutes |
Instance-level metrics for Amazon Aurora
The following instance-specific Amazon CloudWatch metrics apply to all Aurora MySQL and Aurora PostgreSQL instances unless noted otherwise.
Metric | Description | Applies to | Units |
---|---|---|---|
|
The number of client connections that have not been closed properly. |
Aurora MySQL |
Count |
|
The average number of current transactions executing on an Aurora database instance per second. By default, Aurora doesn't enable this metric. To begin measuring this value, set
|
Aurora MySQL |
Count per second |
|
The value of the This metric is applicable only for Aurora Serverless v2. |
Aurora MySQL and Aurora PostgreSQL |
Percentage |
|
The amount of time that a binary log replica DB cluster running on Aurora MySQL lags behind the binary log replication source. A lag means that the source is generating records faster than the replica can apply them. This metric reports different values depending on the engine version:
You can use this metric to monitor errors and replica lag in a cluster that acts as a binary log replica. The metric value indicates the following:
Because binary log replication only occurs on the writer instance of the cluster, we recommend using the version of this metric associated with the WRITER role. For more information about administering replication, see Replicating Amazon Aurora MySQL DB clusters across AWS Regions. For more information about troubleshooting, see Amazon Aurora MySQL replication issues. |
Primary for Aurora MySQL |
Seconds |
|
The number of forwarded queries that are rejected because the session is full on the writer DB instance. |
Primary for Aurora MySQL version 2 |
Count |
|
The number of forwarded queries that are rejected because the session is full on the writer DB instance. |
Primary for Aurora MySQL version 3 |
Count |
|
The estimated amount of shared buffer or buffer pool memory which was actively used during the last configured polling interval. |
Aurora PostgreSQL |
Bytes |
|
Indicates the memory health state. A value of For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.06.1 and higher |
Gauge |
|
The incremental number of queries declined as part of out-of-memory (OOM) avoidance. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.06.1 and higher |
Count |
|
The incremental number of connections closed as part of OOM avoidance. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.06.1 and higher |
Count |
|
The incremental number of queries ended as part of OOM avoidance. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.06.1 and higher |
Count |
|
The amount of time since the memory health dropped below the normal state. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.08.0 and higher |
Milliseconds |
|
The number of times that the memory health was restored to the normal state. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.08.0 and higher |
Count |
|
The number of times that the memory health dropped below the normal state. For more information, see Troubleshooting out-of-memory issues for Aurora MySQL databases. |
Aurora MySQL version 3.08.0 and higher |
Count |
|
The percentage of requests that are served by the Optimized Reads cache. The value is calculated using the following formula:
When |
Primary for Aurora PostgreSQL |
Percentage |
|
For an Aurora replica, the amount of lag when replicating updates from the primary instance. |
Replica for Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
The maximum amount of lag between the primary instance and any of the Aurora DB instance in the DB cluster. When read replicas are deleted or renamed, there can be a temporary
spike in replication lag as the old resource undergoes a recycling
process. To obtain an accurate representation of the replication lag
during that period, we recommend that you monitor the
|
Primary for Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
The minimum amount of lag between the primary instance and any of the Aurora DB instance in the DB cluster. |
Primary for Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
The number of connections that have waited two seconds or longer to start the handshake. This metric applies only to Aurora MySQL version 3. |
Aurora MySQL |
Count |
|
The number of connections that have taken 50 milliseconds or longer to finish the handshake. This metric applies only to Aurora MySQL version 3. |
Aurora MySQL |
Count |
|
The difference between the target backtrack window and the actual backtrack window. |
Primary for Aurora MySQL |
Minutes |
|
The number of times that the actual backtrack window is smaller than the target backtrack window for a given period of time. |
Primary for Aurora MySQL |
Count |
|
The average number of transactions in the database that are blocked per second. |
Aurora MySQL |
Count per second |
|
The percentage of requests that are served by the buffer cache. |
Aurora MySQL and Aurora PostgreSQL |
Percentage |
|
The average duration taken by the engine and storage to complete the commit operations. |
Aurora MySQL and Aurora PostgreSQL |
Milliseconds |
|
The average number of commit operations per second. |
Aurora MySQL and Aurora PostgreSQL |
Count per second |
|
The number of attempts to connect to an instance, whether successful or not. |
Aurora MySQL |
Count |
|
The number of CPU credits that an instance has accumulated, reported at 5-minute intervals. You can use this metric to determine how long a DB instance can burst beyond its baseline performance level at a given rate. This metric applies only to these instance classes:
NoteWe 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. Launch credits work the same way in Amazon RDS as they do in Amazon EC2. For more information, see Launch credits in the Amazon Elastic Compute Cloud User Guide for Linux Instances. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The number of CPU credits consumed during the specified period, reported at 5-minute intervals. This metric measures the amount of time during which physical CPUs have been used for processing instructions by virtual CPUs allocated to the DB instance. This metric applies only to these instance classes:
NoteWe 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. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The number of surplus credits that have been spent by an unlimited instance
when its The CPU credit metrics are available at a 5-minute frequency only. |
Aurora MySQL and Aurora PostgreSQL |
Credits (vCPU-minutes) |
|
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:
CPU credit metrics are available at a 5-minute frequency only. |
Aurora MySQL and Aurora PostgreSQL |
Credits (vCPU-minutes) |
|
The percentage of CPU used by an Aurora DB instance. |
Aurora MySQL and Aurora PostgreSQL |
Percentage |
|
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:
|
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The average duration of requests such as example, create, alter, and drop requests. |
Aurora MySQL |
Milliseconds |
|
The average number of DDL requests per second. |
Aurora MySQL |
Count per second |
|
The average number of deadlocks in the database per second. |
Aurora MySQL and Aurora PostgreSQL |
Count per second |
|
The average duration of delete operations. |
Aurora MySQL |
Milliseconds |
|
The average number of delete queries per second. |
Aurora MySQL |
Count per second |
|
The number of outstanding read/write requests waiting to access the disk. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The average duration of inserts, updates, and deletes. |
Aurora MySQL |
Milliseconds |
|
The average number of inserts, updates, and deletes per second. |
Aurora MySQL |
Count per second |
|
The amount of time that the instance has been running. |
Aurora MySQL and Aurora PostgreSQL |
Seconds |
|
The amount of available random access memory. For Aurora MySQL and Aurora PostgreSQL databases, this metric reports the value of the |
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The amount of available Ephemeral NVMe storage. |
Aurora PostgreSQL |
Bytes |
|
The amount of local storage available. Unlike for other DB engines, for Aurora DB instances this metric reports the amount of
storage available to each DB instance. This value depends on the DB instance class (for
pricing information, see the Amazon RDS pricing
page (This doesn't apply to Aurora Serverless v2.) |
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The average duration of insert operations. |
Aurora MySQL |
Milliseconds |
|
The average number of insert operations per second. |
Aurora MySQL |
Count per second |
|
The average number of failed login attempts per second. |
Aurora MySQL |
Count per second |
|
The age of the oldest unvacuumed transaction ID, in transactions. If this value reaches
2,146,483,648 (2^31 - 1,000,000), the database is forced into read-only mode, to avoid
transaction ID wraparound. For more information, see Preventing transaction ID wraparound failures |
Aurora PostgreSQL |
Count |
|
The amount of network throughput received from clients by each instance in the Aurora DB cluster. This throughput doesn't include network traffic between instances in the Aurora DB cluster and the cluster volume. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second (console shows Megabytes per second) |
|
The amount of network throughput both received from and transmitted to clients by each instance in the Aurora DB cluster. This throughput doesn't include network traffic between instances in the Aurora DB cluster and the cluster volume. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The amount of network throughput sent to clients by each instance in the Aurora DB cluster. This throughput doesn't include network traffic between instances in the DB cluster and the cluster volume. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second (console shows Megabytes per second) |
|
The number of binlog files generated. |
Aurora MySQL |
Count |
|
The lagging size of the replica lagging the most in terms of write-ahead log (WAL) data received. |
Aurora PostgreSQL |
Bytes |
|
Transaction number up to which InnoDB purging is allowed. If this metric doesn't advance for extended periods of time, it's a good indication that InnoDB purging is blocked by long-running transactions. To investigate, check the active transactions on your Aurora MySQL DB cluster. |
Aurora MySQL version 2, versions 2.11 and higher Aurora MySQL version 3, versions 3.08 and higher |
Count |
|
Transaction number up to which InnoDB purging is performed. This metric can help you examine how fast InnoDB purging is progressing. |
Aurora MySQL version 2, versions 2.11 and higher Aurora MySQL version 3, versions 3.08 and higher |
Count |
|
The average number of queries executed per second. |
Aurora MySQL |
Count per second |
|
The lag when replicating updates from the primary RDS PostgreSQL instance to other nodes in the cluster. |
Replica for Aurora PostgreSQL |
Seconds |
|
The average number of disk I/O operations per second but the reports read and write separately, in 1-minute intervals. |
Aurora MySQL and Aurora PostgreSQL |
Count per second |
|
The average number of disk read I/O operations to Ephemeral NVMe storage. |
Aurora PostgreSQL |
Count per second |
|
The average amount of time taken per disk I/O operation. |
Aurora MySQL and Aurora PostgreSQL |
Seconds |
|
The average amount of time taken per disk read I/O operation for Ephemeral NVMe storage. |
Aurora PostgreSQL |
Milliseconds |
|
The average number of bytes read from disk per second. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The average number of bytes read from disk per second for Ephemeral NVMe storage. |
Aurora PostgreSQL |
Bytes per second |
|
The amount of disk space consumed by replication slot files. |
Aurora PostgreSQL |
Bytes |
|
The percentage of requests that are served by the Resultset cache. |
Aurora MySQL version 2 |
Percentage |
|
The undo logs that record committed transactions with delete-marked records. These records are scheduled to be processed by the InnoDB purge operation. |
Aurora MySQL |
Count |
|
The total time spent acquiring row locks for InnoDB tables. |
Aurora MySQL |
Milliseconds |
|
The average amount of time for select operations. |
Aurora MySQL |
Milliseconds |
|
The average number of select queries per second. |
Aurora MySQL |
Count per second |
|
The current capacity of an Aurora Serverless DB cluster. |
Aurora MySQL and Aurora PostgreSQL |
Count |
|
The amount of network throughput received from the Aurora storage subsystem by each instance in the DB cluster. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The amount of network throughput received from and sent to the Aurora storage subsystem by each instance in the Aurora DB cluster. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The amount of network throughput sent to the Aurora storage subsystem by each instance in the Aurora DB cluster. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The total size of the binlog files. |
Aurora MySQL |
Bytes |
|
The amount of swap space used. This metric isn't available for the following
DB instance classes:
|
Aurora MySQL and Aurora PostgreSQL |
Bytes |
|
The number of IOPS for both read and writes on local storage attached to the DB instance. This metric represents a count and is measured once per second. This metric is applicable only for Aurora Serverless v2. |
Aurora MySQL and Aurora PostgreSQL |
Count per second |
|
The amount of data transferred to and from local storage associated with the DB instance. This metric represents bytes and is measured once per second. This metric is applicable only for Aurora Serverless v2. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The age of the oldest active running transaction. |
Aurora MySQL version 3, versions 3.08 and higher |
Seconds |
|
The amount of disk space consumed by transaction logs on the Aurora PostgreSQL DB instance. This metric is generated only when Aurora PostgreSQL is using logical replication or AWS Database Migration Service.
By default, Aurora PostgreSQL uses log records, not transaction logs. When transaction logs
aren't in use, the value for this metric is |
Primary for Aurora PostgreSQL |
Bytes |
|
The transaction identifier up to which undo truncation is performed. |
Aurora MySQL version 2, versions 2.11 and higher Aurora MySQL version 3, versions 3.08 and higher |
Count |
|
The average amount of time taken for update operations. |
Aurora MySQL |
Milliseconds |
|
The average number of updates per second. |
Aurora MySQL |
Count per second |
|
The number of Aurora storage write records generated per second. This is more or less the number of log records generated by the database. These do not correspond to 8K page writes, and do not correspond to network packets sent. |
Aurora MySQL and Aurora PostgreSQL |
Count per second |
|
The average number of disk write I/O operations to Ephemeral NVMe storage. |
Aurora PostgreSQL |
Count per second |
|
The average amount of time taken per disk I/O operation. |
Aurora MySQL and Aurora PostgreSQL |
Seconds |
|
The average amount of time taken per disk write I/O operation for Ephemeral NVMe storage. |
Aurora PostgreSQL |
Milliseconds |
|
The average number of bytes written to persistent storage every second. |
Aurora MySQL and Aurora PostgreSQL |
Bytes per second |
|
The average number of bytes written to disk per second for Ephemeral NVMe storage. |
Aurora PostgreSQL |
Bytes per second |
Amazon CloudWatch usage metrics for Amazon Aurora
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 in the Amazon CloudWatch User Guide. For more information about quotas, see Quotas and constraints for Amazon Aurora and Requesting a quota increase in the Service Quotas User Guide.
Metric | Description | Units* |
---|---|---|
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 |
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 |
DBSubnetGroups
|
The number of DB subnet groups in your AWS account. The count excludes the default subnet group. |
Count |
ManualClusterSnapshots |
The number of manually created DB cluster 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.