监控MySQL主从同步延时
来源:互联网 发布:数据作假和抄袭 编辑:程序博客网 时间:2024/05/22 13:27
如何监控mysql主从之间的延迟,通常有两种方法:Seconds_Behind_Master和mk-heartbeat
方法1:通过监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,是否有发生主从延时。
show slave status; # 需要有replcation client权限
以下是show slave status\G的输出结果的几个重点参数说明:
Slave_IO_Running:该参数可作为io_thread的监控项,Yes表示io_thread的和主库连接正常并能实施复制工作,No则说明与主库通讯异常,多数情况是由主从间网络引起的问题;
Slave_SQL_Running:该参数代表sql_thread是否正常,具体就是语句是否执行通过,常会遇到主键重复或是某个表不存在。
Seconds_Behind_Master:是通过比较sql_thread执行的event的timestamp和io_thread复制好的event的timestamp(简写为ts)进行比较,而得到的这么一个差值;
NULL—表示io_thread或是sql_thread有任何一个发生故障,也就是该线程的Running状态是No,而非Yes。
0 — 该值为零,是我们极为渴望看到的情况,表示主从复制良好,可以认为lag不存在。
正值 — 表示主从已经出现延时,数字越大表示从库落后主库越多。
负值 — 几乎很少见,我只是听一些资深的DBA说见过,其实,这是一个BUG值,该参数是不支持负值的,也就是不应该出现。
方法2:mk-heartbeat:Maatkit万能工具包中的一个工具,被认为可以准确判断复制延时的方法。
mk-heartbeat的实现也是借助timestmp的比较实现的,它首先需要保证主从服务器必须要保持一致,通过与相同的一个NTP server同步时钟。它需要在主库上创建一个heartbeat的表,里面至少有id与ts两个字段,id为server_id,ts就是当前的时间戳now(),该结构也会被复制到从库上,表建好以后,会在主库上以后台进程的模式去执行一行更新操作的命令,定期去向表中的插入数据,这个周期默认为1秒,同时从库也会在后台执行一个监控命令,与主库保持一致的周期去比较,复制过来记录的ts值与主库上的同一条ts值,差值为0表示无延时,差值越大表示延时的秒数越多。我们都知道复制是异步的ts不肯完全一致,所以该工具允许半秒的差距,在这之内的差异都可忽略认为无延时。这个工具就是通过实打实的复制,巧妙的借用timestamp来检查延时;
参考资料:
http://blog.itpub.net/12679300/viewspace-1326843
http://blog.csdn.net/chagaostu/article/details/47685329
方法1:通过监控show slave status\G命令输出的Seconds_Behind_Master参数的值来判断,是否有发生主从延时。
show slave status; # 需要有replcation client权限
以下是show slave status\G的输出结果的几个重点参数说明:
Slave_IO_Running:该参数可作为io_thread的监控项,Yes表示io_thread的和主库连接正常并能实施复制工作,No则说明与主库通讯异常,多数情况是由主从间网络引起的问题;
Slave_SQL_Running:该参数代表sql_thread是否正常,具体就是语句是否执行通过,常会遇到主键重复或是某个表不存在。
Seconds_Behind_Master:是通过比较sql_thread执行的event的timestamp和io_thread复制好的event的timestamp(简写为ts)进行比较,而得到的这么一个差值;
NULL—表示io_thread或是sql_thread有任何一个发生故障,也就是该线程的Running状态是No,而非Yes。
0 — 该值为零,是我们极为渴望看到的情况,表示主从复制良好,可以认为lag不存在。
正值 — 表示主从已经出现延时,数字越大表示从库落后主库越多。
负值 — 几乎很少见,我只是听一些资深的DBA说见过,其实,这是一个BUG值,该参数是不支持负值的,也就是不应该出现。
方法2:mk-heartbeat:Maatkit万能工具包中的一个工具,被认为可以准确判断复制延时的方法。
mk-heartbeat的实现也是借助timestmp的比较实现的,它首先需要保证主从服务器必须要保持一致,通过与相同的一个NTP server同步时钟。它需要在主库上创建一个heartbeat的表,里面至少有id与ts两个字段,id为server_id,ts就是当前的时间戳now(),该结构也会被复制到从库上,表建好以后,会在主库上以后台进程的模式去执行一行更新操作的命令,定期去向表中的插入数据,这个周期默认为1秒,同时从库也会在后台执行一个监控命令,与主库保持一致的周期去比较,复制过来记录的ts值与主库上的同一条ts值,差值为0表示无延时,差值越大表示延时的秒数越多。我们都知道复制是异步的ts不肯完全一致,所以该工具允许半秒的差距,在这之内的差异都可忽略认为无延时。这个工具就是通过实打实的复制,巧妙的借用timestamp来检查延时;
参考资料:
http://blog.itpub.net/12679300/viewspace-1326843
http://blog.csdn.net/chagaostu/article/details/47685329
0 0
- 监控MySQL主从同步延时
- mysql主从同步延时解决
- mysql主从同步延时解决
- 监控数据库主从同步延时方法
- Mysql 主从延时监控(pt-heartbeat)
- mysql主从配置,数据同步延时
- mysql 并行负责降低主从同步延时
- mysql 并行负责降低主从同步延时
- 优化Mysql主从同步延时现象
- MySQL Replication同步复制的延时监控
- nagios监控内网mysql主从同步
- nagios 监控 mysql 主从同步状态
- nagios 监控 mysql 主从同步状态
- zabbix3.0.4监控mysql主从同步
- mysql主从同步一致性,延迟性监控
- 自动监控主从MySQL同步的SHELL脚本
- Linux下MySQL主从同步监控shell脚本
- nagios 实现Mysql 主从同步状态的监控
- POJ 1488 TEX Quotes
- 人工智能:第七章 机器学习
- 数据文件最大值
- java中简单工厂模式(静态工厂方法模式)
- 获取英文字符串的首字母和汉字字符串的拼音首字母
- 监控MySQL主从同步延时
- 【SSH项目实战】国税协同平台-21.PowerDesigner概念、物理模型
- Light OJ 1043 三角形比例问题
- 【SSH项目实战】国税协同平台-22.逆向工程
- 推荐系统导论笔记(六)——Assignment3
- 人工智能:第九章 Agent (艾真体)
- online_judge_1029
- 人工智能:第八章 自动规划
- 关于String内存分配的深入探讨