欢迎加入QQ讨论群258996829
麦子学院 头像
苹果6袋
6
麦子学院

MySQL复制延迟监控方法详解

发布时间:2017-07-02 22:40  回复:0  查看:1951   最后回复:2017-07-02 22:40  

本文和大家分享的主要是MySQL复制延迟监控相关内容,一起来看看吧,希望对大家学习MySQL数据库http://www.maiziedu.com/course/python/有所帮助。

  pt-heartbeat

  数据库做主从复制时,复制状态、数据延迟是否正常是非常关键的指标,那么如何对其进行监控呢?

  pt-heartbeat   是   PERCONA   开发的一个工具集中的一个,专门用来监控 MySQL 和 PostgreSQL 的复制延迟。

  比较成熟,例如 Uber 等大型公司都在使用。

  监控原理

  在 master   中建一个   heartbeat   表,其中有一个   时间戳   字段, pt-heartbeat   会周期性的修改时间戳的值。

  slave   会复制   heartbeat 表,其中就包含了   master 执行修改动作的时间戳,对其和   slave  的本地时间进行对比,得到一个差值,就是复制延迟的值,从而判断复制状态是否正常,以及延迟时间是否符合预期。

  pt-heartbeat   是根据实际的复制记录来计算的,所以他不关心你使用什么方式进行复制。

  pt-heartbeat   可以监控任意深度的复制层级,因为   heartbeat   表中有   server_id   字段,在监控某个   slave   的延迟时可以指定是参考哪个   server_id ,例如想知道这个   slave   与其   master  的   master   的延迟情况,指定目标   master 的   server_id   就可以了。

  因为 pt-heartbeat   严格依赖时间,所以需要注意   master   与   slave   的时间一定要同步。

  使用示例

  对 master   执行创建心跳表的操作,并执行循环   update   操作,执行命令:

MySQL复制延迟监控方法详解

其中指定了 master   的连接信息, --create-table -D master1   是指在   master1 这个数据库中创建心跳表,后面的参数指定执行   update   的时间间隔。

  然后就可以对 slave   进行监控了,执行命令:


MySQL复制延迟监控方法详解

--monitor   参数指明是要进行监控,之前的是监控目标的信息,包括   slave   的连接信息、数据库和表名。

  输出信息示例:

MySQL复制延迟监控方法详解

0.00s   表示现在的延迟信息,[ 0.00s, 0.00s, 0.00s ] 表示 1m,5m,15m 的平均值。

  安装过程

  下面是在CentOS7下的安装过程:

MySQL复制延迟监控方法详解

来源:测试窝

您还未登录,请先登录

热门帖子

最新帖子