AWS Aurora PostgreSQL
Use the "TrueWatch Cloud Sync" script packages in the script market to synchronize cloud monitoring and cloud asset data to TrueWatch
Configuration¶
Install Func¶
We recommend enabling TrueWatch Integrations - Extensions - Hosted Func: all prerequisites are installed automatically. Continue with script installation.
To deploy Func yourself, see Self-hosted Func.
Install Script¶
Note: Please prepare the required Amazon AK in advance (for simplicity, you can grant global read-only permissions
ReadOnlyAccess)
Activate Script in DataFlux Func (Automata)¶
- Log in to the TrueWatch console
- Click the 【Integration】 menu and select 【Cloud Account Management】
- Click 【Add Cloud Account】, select 【AWS】, and fill in the required information on the interface. If you have already configured the cloud account information before, ignore this step
- Click 【Test】, and if the test is successful, click 【Save】. If the test fails, please check if the relevant configuration information is correct and test again
- Click 【Cloud Account Management】, and you can see the added cloud account in the list. Click the corresponding cloud account to enter the details page
- Click on the 【Integration】 button on the cloud account details page, find
AWS Aurora PostgreSQLunder theNot Installedlist, click on the 【Install】 button, and install it in the pop-up installation interface.
Activate Script Manually¶
-
Log in to the Func console, click on 【Script Market】, enter the TrueWatch script market, and search for:
integration_aws_rds -
Click 【Install】, then enter the corresponding parameters: AWS AK ID, AK Secret, and account name.
-
Click 【Deploy Startup Script】, the system will automatically create the
Startupscript set and automatically configure the corresponding startup script. -
After activation, you can see the corresponding automatic trigger configuration in 「Manage / Automatic Trigger Configuration」. Click 【Execute】 to execute it immediately without waiting for the scheduled time. After a while, you can view the execution task records and corresponding logs.
Verification¶
- Under [Management / Automatic Trigger Configuration], confirm that an automatic trigger configuration exists for the task, and check the task records and logs for errors.
- In TrueWatch, check if the asset information exists in 「Infrastructure - Resource Catalog」
- In TrueWatch, check [Metrics] for the corresponding monitoring data.
Metrics¶
Configure Amazon CloudWatch to collect more metrics Amazon CloudWatch Metrics Details
Amazon CloudWatch Metrics for Amazon RDS¶
The AWS/RDS namespace includes the following metrics, which apply to database entities running on Amazon Aurora. Some metrics apply to Aurora MySQL and/or Aurora PostgreSQL. In addition, some metrics are specific to database clusters, primary database instances, replica database instances, or all database instances.
Cluster-level Metrics for Amazon Aurora¶
| Metric | Description | Applies To | Unit |
|---|---|---|---|
AuroraGlobalDBDataTransferBytes |
In Aurora Global Database, this is the amount of redo log data transferred from the source AWS Region to the secondary AWS Region. Note: This metric applies only to the secondary AWS Region. | Aurora MySQL and Aurora PostgreSQL | Bytes |
AuroraGlobalDBProgressLag |
In Aurora Global Database, this measures how far behind the secondary cluster is from the primary cluster for user transactions and system transactions. Note: This metric applies only to the secondary AWS Region. | Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraGlobalDBReplicatedWriteIO |
In Aurora Global Database, this is the number of write input/output operations replicated from the primary AWS Region to the cluster volume in the secondary AWS Region. The billing calculation for the secondary AWS Region in the global database uses VolumeWriteIOPs to account for writes performed in the cluster. The billing calculation for the primary AWS Region in the global database uses VolumeWriteIOPs to account for write activity in that cluster and uses AuroraGlobalDBReplicatedWriteIO to account for cross-region replication in the global database. Note: This metric applies only to the secondary AWS Region. | Aurora MySQL and Aurora PostgreSQL | Count |
AuroraGlobalDBReplicationLag |
For Aurora Global Database, this is the lag time when replicating updates from the primary AWS Region. Note: This metric applies only to the secondary AWS Region. | Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraGlobalDBRPOLag |
In Aurora Global Database, the Recovery Point Objective (RPO) lag time. This metric measures how far behind the secondary cluster is from the primary cluster for user transactions. Note: This metric applies only to the secondary AWS Region. | Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraVolumeBytesLeftTotal |
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 an Aurora MySQL cluster is approaching the 128TiB size limit, it is easier and more reliable to monitor this value than VolumeBytesUsed. AuroraVolumeBytesLeftTotal takes into account storage used for internal transaction management and other allocations that do not affect storage billing. | Aurora MySQL | Bytes |
BacktrackChangeRecordsCreationRate |
The number of backtrack change records created for your database cluster in 5 minutes. | Aurora MySQL | Count per 5 minutes |
BacktrackChangeRecordsStored |
The number of backtrack change records used by your database cluster | Aurora MySQL | Count |
BackupRetentionPeriodStorageUsed |
The total amount of backup storage used to support the point-in-time restore feature within the backup retention period of the Aurora database cluster. This amount is included in the total reported by the TotalBackupStorageBilled metric. Calculated separately for each Aurora cluster. | Aurora MySQL and Aurora PostgreSQL | Bytes |
ServerlessDatabaseCapacity |
The current capacity of the Aurora Serverless database cluster. | Aurora MySQL and Aurora PostgreSQL | Count |
SnapshotStorageUsed |
The total amount of backup storage consumed by all Aurora snapshots of the Aurora database cluster outside its backup retention period. This amount is included in the total reported by the TotalBackupStorageBilled metric. Calculated separately for each Aurora cluster. | Aurora MySQL and Aurora PostgreSQL | Bytes |
VolumeWriteIOPs |
The number of write disk I/O operations for the cluster volume, reported every 5 minutes. For a detailed explanation of how billed write operations are calculated, see VolumeReadIOPs. Note that choosing a small --period value is meaningless because Amazon RDS collects these metrics by interval, not continuously. | Aurora MySQL and Aurora PostgreSQL | Count per 5 minutes |
Instance-level Metrics for Amazon Aurora¶
Unless otherwise noted, the following instance-specific Amazon CloudWatch metrics apply to all Aurora MySQL and Aurora PostgreSQL instances.
| Metric | Description | Applies To | Unit |
|---|---|---|---|
AbortedClients |
The number of client connections that were not properly closed. | Aurora MySQL | Count |
ActiveTransactions |
Average number of current transactions executed per second on an Aurora DB instance. Before Aurora MySQL 3.08, set innodb_monitor_enable='all'; from 3.08 onward, data is read from internal tables by default. | Aurora MySQL | Count per second |
ACUUtilization |
The value of the ServerlessDatabaseCapacity metric divided by the maximum ACU value of the database cluster. This metric applies only to Aurora Serverless v2. | Aurora MySQL and Aurora PostgreSQL | Percentage |
AuroraDMLRejectedMasterFull |
The number of forwarded queries that were rejected because the session on the writer database instance was full. | Applies to primary instances of Aurora MySQL version 2 | Count |
AuroraDMLRejectedWriterFull |
The number of forwarded queries that were rejected because the session on the writer database instance was full. | Applies to primary instances of Aurora MySQL version 3 | Count |
AuroraEstimatedSharedMemoryBytes |
The estimated amount of shared buffer or buffer pool memory actively used during the last configured polling interval. | Aurora PostgreSQL | Bytes |
AuroraMemoryHealthState |
Indicates the memory health status. A value of 0 represents NORMAL. A value of 10 represents RESERVED, indicating that the server's memory usage is approaching a critical level. | Aurora MySQL version 3.06.1 and later | Count |
AuroraMemoryNumDeclinedSqlTotal |
The number of incremental queries rejected to avoid out-of-memory (OOM). | Aurora MySQL version 3.06.1 and later | Count |
AuroraMemoryNumKillConnTotal |
The number of incremental connections closed to avoid OOM. | Aurora MySQL version 3.06.1 and later | Count |
AuroraReplicaLag |
For Aurora replicas, the amount of lag when replicating updates from the primary instance. | Applies to replica instances of Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraReplicaLagMaximum |
The maximum lag between the primary instance and any Aurora database instance in the database cluster. When deleting or renaming a read replica, the replication lag may temporarily spike as the old resources go through the recycling process. To obtain an accurate representation of the replication lag during this period, it is recommended to monitor the AuroraReplicaLag metric on each read replica instance. | Applies to primary instances of Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraReplicaLagMinimum |
The minimum lag between the primary instance and any Aurora database instance in the database cluster. | Applies to primary instances of Aurora MySQL and Aurora PostgreSQL | Milliseconds |
AuroraSlowConnectionHandleCount |
The number of connections that waited for two seconds or more to start the handshake. This metric applies only to Aurora MySQL version 3. | Aurora MySQL | Count |
BacktrackWindowActual |
The difference between the target backtrack window and the actual backtrack window. | Applies to primary instances of Aurora MySQL | Minutes |
BacktrackWindowAlert |
For a given period, the number of times the actual backtrack window was less than the target backtrack window. | Applies to primary instances of Aurora MySQL | Count |
BlockedTransactions |
The average number of transactions blocked per second in the database. | Aurora MySQL | Count per second |
BufferCacheHitRatio |
The percentage of requests served by the buffer cache. | Aurora MySQL and Aurora PostgreSQL | Percentage |
CommitLatency |
The average duration taken by the engine and storage to complete a commit operation. | Aurora MySQL and Aurora PostgreSQL | Milliseconds |
CommitThroughput |
The average number of commit operations per second. | Aurora MySQL and Aurora PostgreSQL | Count per second |
ConnectionAttempts |
The number of attempts to connect to the instance, regardless of success. | Aurora MySQL | Count |
CPUUtilization |
The percentage of CPU used by the Aurora database instance. | Aurora MySQL and Aurora PostgreSQL | Percentage |
DatabaseConnections |
The number of client network connections to the database instance. The number of database sessions may be higher than the metric value because the metric value does not include the following: sessions that no longer have a network connection but have not yet been cleaned up by the database, sessions created by the database engine for its own purposes, sessions created by the database engine's parallel execution feature, sessions created by the database engine task scheduler, Amazon Aurora connections | Aurora MySQL and Aurora PostgreSQL | Count |
DDLLatency |
The average duration of requests, such as sample, create, alter, and delete requests. | Aurora MySQL | Milliseconds |
DDLThroughput |
The average number of DDL requests per second. | Aurora MySQL | Count per second |
Deadlocks |
The average number of deadlocks per second in the database. | Aurora MySQL and Aurora PostgreSQL | Count per second |
DeleteLatency |
The average duration of delete operations. | Aurora MySQL | Milliseconds |
DeleteThroughput |
The average number of delete queries per second. | Aurora MySQL | Count per second |
DiskQueueDepth |
The number of outstanding read/write requests waiting to access the disk. | Aurora MySQL and Aurora PostgreSQL | Count |
DMLLatency |
The average duration of insert, update, and delete operations. | Aurora MySQL | Milliseconds |
DMLThroughput |
The average number of insert, update, and delete operations per second. | Aurora MySQL | Count per second |
EngineUptime |
The length of time the instance has been running. | Aurora MySQL and Aurora PostgreSQL | Seconds |
FreeableMemory |
The available size of random access memory. For Aurora MySQL and Aurora PostgreSQL databases, this metric reports the value of the MemAvailable field in /proc/meminfo. | Aurora MySQL and Aurora PostgreSQL | Bytes |
FreeEphemeralStorage |
The size of available temporary NVMe storage | Aurora PostgreSQL | Bytes |
InsertLatency |
The average duration of insert operations. | Aurora MySQL | Milliseconds |
CPUCreditUsage |
CPU credits consumed during the specified period, reported every 5 minutes. | Aurora PostgreSQL(db.t3、db.t4g) | Count |
DBLoad |
Average number of active database sessions. | Aurora MySQL and Aurora PostgreSQL | - |
DBLoadCPU |
Number of active sessions with CPU as the wait event type. | Aurora MySQL and Aurora PostgreSQL | - |
DBLoadNonCPU |
Number of active sessions whose wait event type is not CPU. | Aurora MySQL and Aurora PostgreSQL | - |
DBLoadRelativeToNumVCPUs |
Ratio of database load to the number of virtual CPUs. | Aurora MySQL and Aurora PostgreSQL | - |
MaximumUsedTransactionIDs |
Age of the oldest unvacuumed transaction ID, measured in transactions. | Aurora PostgreSQL | Count |
NetworkReceiveThroughput |
Network throughput received by the instance from clients, excluding cluster storage volume traffic. | Aurora MySQL and Aurora PostgreSQL | Bytes per second |
NetworkThroughput |
Network throughput received and sent between the instance and clients, excluding traffic between the instance and cluster storage volume. | Aurora MySQL and Aurora PostgreSQL | Bytes per second |
NetworkTransmitThroughput |
Network throughput sent by the instance to clients, excluding cluster storage volume traffic. | Aurora MySQL and Aurora PostgreSQL | Bytes per second |
ReadIOPS |
The average number of disk read I/O operations per second. | Aurora MySQL and Aurora PostgreSQL | Count per second |
ReadLatency |
Average time per disk read I/O operation. | Aurora MySQL and Aurora PostgreSQL | Seconds |
SwapUsage |
Swap space used. | Aurora PostgreSQL (excluding db.r7g.*) | Bytes |
WriteIOPS |
Number of Aurora storage write records generated per second. | Aurora MySQL and Aurora PostgreSQL | Count per second |
WriteLatency |
Average time per disk write I/O operation. | Aurora MySQL and Aurora PostgreSQL | Seconds |
Objects¶
The data structure of the collected AWS Aurora PostgreSQL objects can be viewed in 「Infrastructure - Resource Catalog」
{
"measurement": "aws_rds",
"tags": {
"name" : "xxxxx",
"RegionId" : "cn-northwest-1",
"Engine" : "aurora-postgresql",
"DBInstanceClass" : "db.t3.medium",
"DBInstanceIdentifier" : "xxxxxx",
"AvailabilityZone" : "cn-northwest-1c",
"SecondaryAvailabilityZone": "ap-southeast-1c"
},
"fields": {
"InstanceCreateTime" : "2025-05-19T19:54:07.871Z",
"LatestRestorableTime": "2025-05-19T19:54:07.871Z",
"Endpoint" : "{Connection address JSON data}",
"AllocatedStorage" : 100,
"message" : "{Instance JSON Data}",
}
}
Note: Fields in
tagsandfieldsmay change with subsequent updatesTip 1:
tags.namevalue is the instance ID, used as a unique identifierTip 2:
fields.message,fields.Endpointare JSON serialized strings