Aurora RDS: determine replication lag

0

Since SHOW SLAVE STATUS doesn't work: What is an API-based way to determine the current replica lag, i.e., the "seconds behind master" value? MySQL 5.7.

已提問 2 年前檢視次數 1170 次
2 個答案
0

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

AWS
已回答 2 年前
  • 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";, and select 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

0

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.

AWS
D-Rao
已回答 2 年前
  • 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?

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南