问题
我们数据库运维同事希望能监控mysql从库到主库的复制延迟时间,如下图种的Prometheus指标逻辑:

我们安装了mysql_exporter的sidecar容器,在Prometheus看不到mysql_slave_status_seconds_behind_master指标

分析原因
查看mysql_exporter源码,mysql_slave_status相关的代码在slave_status.go文件下。
const ( // Subsystem. slaveStatus = "slave_status")...var slaveStatusQueries = [2]string{
"SHOW ALL SLAVES STATUS", "SHOW SLAVE STATUS"}var slaveStatusQuerySuffixes = [

本文探讨了在使用Prometheus监控MySQL主从库时遇到的时间不一致问题,详细分析了由于mysql_exporter的sidecar容器未显示mysql_slave_status_seconds_behind_master指标的原因。经过检查源码和数据库状态,发现在Slave_sql_running为no时,Seconds_behind_master为NULL。解决方法是确保Slave_io_running和Slave_sql_running均为yes,以使指标正常显示。当主从切换时,应同时监控主从库的指标,防止因切换导致的监控缺失。
最低0.47元/天 解锁文章
4万+

被折叠的 条评论
为什么被折叠?



