mysql管理工具之pt-heartbeat

之前我一直用Seconds_behind_master来衡量主从的延迟,今天看到文档,才觉得多么不可靠!以下是官方文档的描述:

In essence, this field measures the time difference in seconds between the slave SQL thread and the slave I/O thread.

也就是说,这个变量是描述的是从库上I/O thread和SQL thread之间的时间差。

下面使用pt-heartbeat监控主从延迟:

【原理】:

1:在主库上创建一张heartbeat表,按照一定的时间频率更新该表的字段(把时间更新进去)。

2:连接到从库上检查复制的时间记录,和从库的当前系统时间进行比较,得出时间的差异。

【用法】:

pt-heartbeat [OPTIONS] [DSN] --update|--monitor|--check|--stop

【参数说明】

--check
   检查从的延迟,检查一次就退出,除非指定了--recurse会递归的检查所有的从服务器。

--monitor
   持续监控从的延迟情况。通过--interval指定的间隔时间,打印出从的延迟信息,通过

--file
   则可以把这些信息打印到指定的文件。

--daemonize
   执行时,放入到后台执行

--file
   打印--monitor最新的记录到指定的文件,很好的防止满屏幕都是数据的烦恼。

--frames
   在--monitor里输出的[]里的记录段,默认是1m,5m,15m。可以指定1个,如:--frames=1s,多个用逗号隔开。可用单位有秒(s)、分钟(m)、小时(h)、天(d)。

--interval
   检查、更新的间隔时间。默认是见是1s。最小的单位是0.01s,最大精度为小数点后两位,因此0.015将调整至0.02。

--log
   开启daemonized模式的所有日志将会被打印到制定的文件中。

--update
   更新主上的心跳表。

--replace
   使用--replace代替--update模式更新心跳表里的时间字段,这样的好处是不用管表里是否有行。

--stop
  停止运行该工具(--daemonize),在/tmp/目录下创建一个“pt-heartbeat-sentinel” 文件。后面想重新开启则需要把该临时文件删除,才能开启(--daemonize)。

--table
  指定心跳表名,默认heartbeat。

--create-table
  在主上创建心跳监控的表,如果该表不存在。可以自己建立,建议存储引擎改成memory。通过更新该表知道主从延迟的差距。
CREATE TABLE heartbeat (
  ts varchar(26) NOT NULL,
  server_id  int unsigned NOT NULL PRIMARY KEY,
  file varchar(255) DEFAULT NULL,    -- SHOW MASTER STATUS
  position bigint unsigned DEFAULT NULL, -- SHOW MASTER STATUS
  relay_master_log_file varchar(255) DEFAULT NULL,    -- SHOW SLAVE STATUS
  exec_master_log_pos   bigint unsigned DEFAULT NULL  -- SHOW SLAVE STATUS
); 

【使用案例】

主库:10.10.101.11  端口3306

从库:10.10.101.11  端口3307

1、在主库上执行命令:

/usr/local/bin/pt-heartbeat -D test --create-table -h 10.10.101.11 -P 3306 -u root -p ‘*******‘ --update --daemonize

-D:表示受监控的数据库
这时,主库中已经创建了下面的表heartbeat:

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| checksums      |
| heartbeat      |
+----------------+
2 rows in set (0.00 sec)

mysql> select * from heartbeat;
+----------------------------+-----------+------------------+----------+-----------------------+---------------------+
| ts                         | server_id | file             | position | relay_master_log_file | exec_master_log_pos |
+----------------------------+-----------+------------------+----------+-----------------------+---------------------+
| 2015-11-02T15:01:45.001340 |    113306 | mysql-bin.000021 |  1240408 | mysql-bin.000021      |                 120 |
+----------------------------+-----------+------------------+----------+-----------------------+---------------------+
1 row in set (0.00 sec)

2、在从库上进行延迟监控:

#执行一次就退出[[email protected] backup]# /usr/local/bin/pt-heartbeat -D test  -h 10.10.101.11 -P 3307 -uroot -p‘4rfv%TGB^‘ --check0.00[[email protected] backup]# 

持续监控:

[roo[email protected]10-10-101-11 backup]# /usr/local/bin/pt-heartbeat -D test  -h 10.10.101.11 -P 3307 -uroot -p‘*******‘ --monitor
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]
0.00s [  0.00s,  0.00s,  0.00s ]

更加详细请参考官方说明文档:https://www.percona.com/doc/percona-toolkit/2.2/pt-heartbeat.html

时间: 2024-08-29 13:10:23

mysql管理工具之pt-heartbeat的相关文章

MySQL管理工具-phpMyAdmin管理平台搭建

4 MySQL管理工具 4.1 问题 本案例要求基于LAMP平台部署一套phpMyAdmin应用系统,实现对MySQL服务器的Web方式管理. 4.2 方案 使用2台RHEL6虚拟机 + 1台Windows 7真机,如图-2所示.其中192.168.4.10是MySQL服务器,授权操作在此服务器上执行:另一台Linux服务器192.168.4.6上部署phpMyAdmin管理平台,实现从浏览器访问的Web管理方式. 图-2 4.3 步骤 实现此案例需要按照如下步骤进行. 步骤一:在MySQL服务

分享几款常用的MySQL管理工具

MySQL数据库以体积小.速度快.总体拥有成本低等优点,深受广大中小企业的喜爱,像我们常见的MySQL管理工具都有那些呢?下面给大家推荐六个常用的MySQL管理工具!      phpMyAdmin           phpMyAdmin是我们常用的MySQL管理工具之一,它是用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库也十分方便.主要缺点在对大数据库的备份和恢复不是十分方便.     NO.2 Navicat      Navicat是一款桌面版My

MySQL Study之--MySQL管理工具sqlyog

MySQL Study之--MySQL管理工具sqlyog SQLyog 是一个易于使用的.快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库! sqlyog可以连接到mysql主机.http管道.ssh隧道以及ssl加密.它是一款功能强大的MYSQL数据库管理工具,内置多个高级工具,可以导入外部数据,SQL调度器和报告工具向导会引导您通过若干步骤调度查询的执行,结果可以发送给多个接收者,您还可以使用该功能执行例如 ANALYZE, REPAIR等维护查询.可视化

涂抹mysql笔记-mysql管理工具

五花八门的mysql管理工具<>mysql提供的命令行工具 mysql_install_db:mysql建库工具,在源码安装mysql环节我们使用过. mysql_safe:mysql启动工具 mysqld:mysql主进程,mysql_safe也是调用mysqld进程.启动关闭数据库.查询或修改数据.执行各项维护操作等实际上都是基于mysqld进程的操作. 系统参数:mysql服务启动时的参数 系统变量:mysql服务运行时参数.比如查看与log相关的系统变量使用show global va

15款最佳的MySQL管理工具和应用程序

工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数据库:提供各种最新的特性,包括触发器.事件.视图.存储过程和外键,支持导入.数据备份.对象结构等多种功能. 这篇文章收集了15款最佳的 MySQL 管理工具和应用软件,帮助你轻松快速完成工作. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3

DBA必备的15款MySQL管理工具

原文:http://www.techxue.com/techxue-11898-1.html 如今,Web应用程序的响应速度是成功的关键法宝之一.它与用户互动,用户对网站的看法,甚至谷歌网站排名情况都有着密不可分的关系.数据库性能是响应速度最重要的因素之一,一旦出错,所有程序都将会宕机. 工欲善其事,必先利其器.几乎每一个Web开发人员都有一个最钟爱的MySQL管理工具,它帮助开发人员在许多方面支持包括PostgreSQL,MySQL,SQLite,Redis,MongoDB等在内的多种数据库:

密码恢复及设置,用户授权及撤销,MySQL管理工具

密码恢复及设置 1.1 问题 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 1.2 步骤 实现此案例需要按照如下步骤进行. 步骤一:重置MySQL管理密码 1)首先停止已运行的MySQL服务程序 [[email protected] ~]# systemctl stop mysqld.service         //停止服务 [[email protected] ~]# systemctl statu

26_多表查询 MySQL管理工具 、 用户授权及撤销

版本:5.7.28服务器:mysql 192.168.4.20 1.MySQL管理工具 部署LAMP+phpMyAdmin平台安装httpd.mysql.php-mysql及相关包启动httpd服务程序解压phpMyAdmin包,部署到网站目录配置config.inc.php,指定MySQL主机地址创建授权用户浏览器访问.登录使用 1.1 准备软件的运行环境 lamp]# yum -y install httpd php php-mysql]# systemctl start httpd]# s

MySQL管理工具MySQL Utilities — 介绍与安装(1)

MySQL Utilities介绍 MySQL Utilities 提供一组命令行工具用于维护和管理 MySQL 服务器,包括: 管理工具 (克隆.复制.比较.差异.导出.导入) 复制工具 (安装.配置) 一般工具 (磁盘使用情况.冗余索引.搜索元数据) MySQL Utilities是一系列的命令行工具以及Python库更容易完成管理的任务.库是用Python语言写的,这就意味着不需要安装其他任何工具和库.当前是基于Python2.6版本设计的,不支持Python3.1版本. MySQL Ut

Navicat for MySQL Windows下强大的MySQL管理工具

作者:zhanhailiang 日期:2015-01-21 介绍 Navicat for MySQL[是一款强大的 MySQL 数据库管理和开发工具,它为专业开发者提供了一套强大的足够尖端的工具.Navicat for MySQL 基于Windows平台,为 MySQL 量身订作,提供类似于 phpMyAdmin 的用户管理界面工具. 使用说明 下载并安装,Navicat for MySQL: 连接数据库:  连接成功后即可对该DB做所有有权限的操作: 更多阅读 http://www.navic