mysql 主从复制延迟监控

1、在主从上分别安装percona-toolkit

wget https://www.percona.com/downloads/percona-toolkit/2.2.18/RPM/percona-toolkit-2.2.18-1.noarch.rpm

yum localinstall percona-toolkit-2.2.18-1.noarch.rpm

2、在主库上执行

pt-heartbeat --user=root --password=******* -S /var/lib/mysql/mysql.sock -D test --master-server-id=1 --update --daemonize

3、在从库上执行

pt-heartbeat --user=root --password=******* -S /var/lib/mysql/mysql.sock -D test --master-server-id=1 --monitor --print-master-server-id --daemonize --log=/tmp/slave-dely.log

4、zabbix监控

# cat /etc/zabbix/mon/slave_dely.sh

#!/bin/bash

a1=`tail -n1 /tmp/slave-dely.log |sed ‘s/s//g‘|sed ‘s/,//g‘|awk ‘{print $1,$3,$4,$5}‘`

echo $a1

# cat zabbix_agentd.d/mysql.conf

UserParameter=slave_dely0,/bin/bash /etc/zabbix/mon/slave_dely.sh |awk ‘{print $1}‘

UserParameter=slave_dely1,/bin/bash /etc/zabbix/mon/slave_dely.sh |awk ‘{print $2}‘

UserParameter=slave_dely5,/bin/bash /etc/zabbix/mon/slave_dely.sh |awk ‘{print $3}‘

UserParameter=slave_dely15,/bin/bash /etc/zabbix/mon/slave_dely.sh |awk ‘{print $4}‘

时间: 2024-10-07 13:48:09

mysql 主从复制延迟监控的相关文章

mysql主从复制延迟问题的相关知识与解决方案

一.如何监控发生了主从延迟? 在从库机器上,执行show slave status,查看Seconds_Behind_Master值,代表主从同步从库落后主库的时间,单位为秒,若同从同步无延迟,这个值为0. Mysql主从延迟一个重要的原因之一是:mysql是以单线程串行执行. 主从复制数据时,在从服务器上的mysql,是一个线程在同步数据. 串行的方式,它是指,执行一个后才继续执行下一个.如果一个卡住了,要等待时间,才会继续下一个.串行与并行是相反的. 二.同步延迟发生的场景 当主库的TPS并

MySQL 主从延迟监控脚本(pt-heartbeat)

对于MySQL数据库主从复制延迟的监控,我们可以借助percona的有力武器pt-heartbeat来实现.pt-heartbeat通过使用时间戳方式在主库上更新特定表,然后在从库上读取被更新的时间戳然后与本地系统时间对比来得出其延迟.本文主要是通过脚本来定期检查从库与主库复制的延迟度并发送邮件,供大家参考. 有关pt-heartbeat工具的安装可以参考:percona-toolkit的安装及简介    有关pt-heartbeat工具的介绍可以参考:使用pt-heartbeat监控主从复制延

mysql主从复制延迟问题

在一般生产环境,普遍通过MySQL的主从复制进行读写分离,从而减轻主服务器的压力,提高数据的读写效率.通常情况下,主从复制基本上能做实时同步.由于服务器实际运行过程中,客户端的连接服务器,读写数据不可能是均匀,在某个时间点出现大量并发连接,主服务器不断的有更新操作不断的写入,但是从服务器当某个语句在从服务器上执行的时间较长,或者某个语句要进行锁表,就会导致主服务器的SQL语句大量积压,未被同步到从服务器,这样就会导致在某个时刻主从数据不一致:还有主从复制,是通过网络进行数据传输,网络的抖动.主从

mysql 主从复制延迟及解决

qps 每秒处理的查询数tps 每秒处理的事务数IOPS,每秒磁盘进行的I/O操作次数 一 延迟的原因 主库并发量大,而从库复制是单线程,从库过多,主从系统配置不当,cpu,内存等,慢sql过大多,大的事物,网络延迟,跨公网的主从复制很容易导致主从复制延迟 二解决方法 1.适当数量的从库,3-5个,从库配置更好的硬件,网络配置等 2.将大事物拆分成多个小事物进行提交,表加主键,否在会全表扫描 3.mysql 5.7.19 + 版本支持并行复制 # slave 从表配置 slave-paralle

MySQL 主从复制延迟问题

导致主从复制延迟的原因: (1) 主库的从库太多,导致复制延迟(2) 从库硬件比主库差,导致复制延迟(3) 慢 SQL 语句过多,导致复制延迟(4) 主从复制的设计问题,导致复制延迟(5) 主从库之间的网络延迟,导致复制延迟(6) 主库读写压力大,导致复制延迟

mysql主从复制延迟

对于高并发流量大的web站点,单点的数据库往往很难支持,一般是使用主从复制,再加上mysql proxy实现复制均衡,读写分离等功能等.但是主从复制会有延迟,大网站是如何解决这些问题的呢?转载自PHP老杨文章. 1.优酷的经验 数据库采用水平的扩展,主从复制,随着从库的增多,复制延迟越来越厉害,最终无法忍受.最终还是采用了平行的数据库,相当于集群吧,把一组用户的相关的数据和表放到一组的数据库上.使用SSD来优化mysql的I/O,性能明显提高,采用数据库分片的技术,抛弃了原来主从延迟的问题,按照

编写脚本实现MySQL主从复制状态监控

生产实战案例:监控MySQL主从同步是否异常,如果异常,则发送短信或者邮件给管理员.提示:如果没主从同步环境,可以用下面文本放到文件里读取来模拟:阶段1:开发一个守护进程脚本每30秒实现检测一次.阶段2:如果同步出现如下错误号(1158,1159,1008,1007,1062),则跳过错误.阶段3:请使用数组技术实现上述脚本(获取主从判断及错误号部分) 解答: #!/bin/sh # No1 define variables array=(1158 1159 1008 1007 1062) Da

mysql复制延迟监控脚本

#!/bin/sh #[email protected] #repdelay.sh #查看复制延迟具体多少event #####1.juede the rep slave status export black='\033[0m' export boldblack='\033[1;0m' export red='\033[31m' export boldred='\033[1;31m' export green='\033[32m' export boldgreen='\033[1;32m' e

MySQL 主从复制延时监控

#!/bin/bash USER="root" PASSWORD="root" MYSQL="/usr/mysql/mysql-5.6.10/client/mysql" HOST="10.198.18.18" thread_status=$($MYSQL -u"$USER" -p"$PASSWORD" -h"$HOST" -e 'show slave status\G