阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Mysql 主从延时监控(pt-heartbeat)详解

253次阅读
没有评论

共计 2744 个字符,预计需要花费 7 分钟才能阅读完成。

导读 主从延时在主从环境中是一个非常值得关注的问题,有时候我们可以通过 show slave status 命令查看 Seconds_Behind_Master 值来分析主从的延时情况;但是由于该值是来自 binlog 文件语句的完成时间,当一条 SQL 执行时间很长的时候那么该值可能就不准确了,那么有没有什么工具可以很准确的分析主从的延时情况呢?在 PT 系列工具里面的 pt-heartbeat 工具很好的解决了这个问题。
原理

pt 工具在主库上面创建一张测试表,以一秒的频率去更新这个的记录并把当前时间写入到字段中,通过分析主从同步过来的时间和当前时间做对比得出时间差。

方法
1. 在主库上创建后台 update 进程
pt-heartbeat -uroot -proot  -D chenmh --create-table --update  --daemonize

-u: 连接主库的用户

-p: 连接主库的用户密码

-D:主库上存在的数据库,这个数据库随便指定,但是必须存在

–create-table: 默认会在主库指定的数据库中创建一个“heartbeat”表

2. 监控从库
pt-heartbeat -uroot -proot -D chenmh --table=heartbeat --master-server-id=10  --monitor -h 192.168.137.20 --interval=1

这里面的参数除了 –master-server-id 是主库的 serverid,其它的都是指从库,特别注意 –master-server-id 一定不能写错否则结果就是错误的,记录了日志之后就可以对该值做监控预警了

3. 写入监控日志做预警分析
pt-heartbeat -uroot -proot -D chenmh --table=heartbeat --master-server-id=10  --monitor -h 192.168.137.20 --interval=1 --file=/tmp/heart.log
cat /tmp/heart.log |awk -F "s"  '{print $1}'
4. 停止后台更新操作
pt-heartbeat --stop

当你停止了后台更新进程会在 /tmp 目录下面产生一个 pt-heartbeat-sentinel 文件,下次再启动该后台进程之前必须先删除该文件,否则无法启动。

rm -rf /tmp/pt-heartbeat-sentinel
参数
Usage: pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop
其中 --update, --moniter,--check,--stop 都是单独使用的,并且 --update, --monitor, and --check are mutually exclusive
--daemonize and --check are mutually exclusive. 他们之间还是存在互斥。Options:

  --ask-pass                  使用密码进行 mysql 连接时给予提示
  --charset=s             -A  默认的字符选项
  --check                     执行一次从库的监控就结束
  --check-read-only           如果是只读的服务器那么使用该选项会保持插入
  --config=A                  使用逗号分隔,如果指定了,那么该参数作为命令行的第一个选项
  --create-table              如果表不存在创建表 heartbeat
  --daemonize                 创建后台的更新 shell
  --database=s            -D  指定连接的数据库
  --dbi-driver=s              Specify a driver for the connection; mysql and Pg
                              are supported (default mysql)
  --defaults-file=s       -F  通过提供的文件进行 mysql 连接
  --file=s                    输出最新的  --monitor 监控信息到指定的文件
  --frames=s                  设置时间周期 (default 1m,5m,15m)
  --help                      显示帮助信息
  --host=s                -h  指定连接的 host
  --[no]insert-heartbeat-row  在使用 --tables 的时候默认是插入一条记录到表 heartbeat 前提是表中不存在该记录行 
  --interval=f                指定更新和监控 heartbeat 表的频率默认是 1S
  --log=s                     当使用 daemonized 进行后台更新操作时输出所有的信息到指定的该文件
  --master-server-id=s        指定主的 server-id
  --monitor                   监控从服务器的参数选项
  --password=s            -p  指定密码
  --pid=s                     创建 pid 文件
  --port=i                -P  指定连接时使用的端口
  --print-master-server-id    打印输出 master-server-id
  --recurse=i                 Check slaves recursively to this depth in --check
                              mode
  --recursion-method=a        Preferred recursion method used to find slaves (default processlist,hosts)
  --replace                   使用 replace 替换 --UPDATE 操作
  --run-time=m                指定监控的时长,单位有:s=seconds, m=minutes, h=hours, d=days; 如果比指定默认是以秒为单位一直监控下去
  --sentinel=s                Exit if this file exists (default /tmp/pt-
                              heartbeat-sentinel)
  --set-vars=A                Set the MySQL variables in this comma-separated
                              list of variable=value pairs
  --skew=f                    指定执行从库检查的延时时长默认是 0.5
  --socket=s              -S  指定连接时使用的 socket 文件
  --stop                      停止后台更新进程并生成 --sentinel 指定的文件                              
  --table=s                   指定更新的表 (默认是 heartbeat)
  --update                    更新主的 heartbeat 表,这个参数是后台进程必须的参数也可以用 --replace 替代
  --user=s                -u  指定用户名
  --utc                       忽略系统时间仅使用 UTC
  --version                   显示版本信息
  --[no]version-check         Check for the latest version of Percona Toolkit,
                              MySQL, and other programs (default yes)
总结

可以通过这个监控的输出文件信息做一个邮件报警,可以去写这样的一个 shell

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2744字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7805835
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
使用1Panel面板搭建属于你的AI项目环境

使用1Panel面板搭建属于你的AI项目环境

使用 1Panel 面板搭建属于你的 AI 项目环境 在 AI 项目越来越火的今天,很多朋友都想自己动手搭建一...
Python自学26 – Cookie和Session

Python自学26 – Cookie和Session

Python 自学 26 – Cookie 和 Session 在学习 Web 开发时,Cooki...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...