- Newest
- Most votes
- Most comments
You can use AuroraReplicaLag
, AuroraReplicaLagMaximum
, and AuroraReplicaLagMinimum
to determine replication lag. Setting up CloudWatch alarm is easy way to monitor Aurora replication lag, or use CloudWatch API to get metrics data.
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html#Aurora.AuroraMySQL.Monitoring.Metrics.clusters
I do not think that you will have an AWS API or AWS CLI call for any database command. "SHOW SLAVE STATUS" is a MySQL Command, hence you do not have a ready-to-use AWS API or AWS CLI call for this.
You would have to build a custom solution for this.
The problem is, as you probably know, that SHOW SLAVE STATUS does not work for RDS Aurora. Do you have a suggestion for a "custom solution" for this?
Relevant content
- asked 2 years ago
- asked 4 months ago
- AWS OFFICIALUpdated 9 months ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
Thank you. I should have specified the use case: determining whether an SQL INSERT has reached all replicas, i.e., this query will need to be performed frequently and with low overhead. SHOW SLAVE STATUS worked very well for that in the past. I'm afraid that CloudWatch takes too long to update to make it useful for determining synchronization.
Thank you for your confirmation.
select Replica_lag_in_msec from mysql.ro_replica_status where Session_id != "MASTER_SESSION_ID";
, andselect REPLICA_LAG_IN_MILLISECONDS from information_schema.REPLICA_HOST_STATUS where SESSION_ID != "MASTER_SESSION_ID";
shows replication lag by using query. You will be able to get latest replication lag on each Readers. https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.html#AuroraMySQL.Replication.Monitoring