范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

关于使用ptheartbeat监测MySQL主从复制延迟的方法

  pt-heartbeat的工作原理通过使用时间戳方式在主库上更新特定表,然后在从库上读取被更新特定表里的时间戳,再与本地系统时间对比来得出其延迟。
  具体流程:
  1)在主库上创建一张heartbeat表,按照一定的时间频率更新该表的字段(把时间更新); 监控操作运行后,heartbeat表能促使主从同步。
  2)连接到从库上检查复制的时间记录,和从库的当前系统时间进行比较,得出时间的差异。
  一、使用方法(主从和从库上都可以执行监控操作):
  pt-heartbeat [OPTIONS] [DSN] —update | —monitor | —check | —stop  注意:需要指定的参数至少有 --stop 、--update、--monitor、--check 其中--update,--monitor和--check是互斥的;--daemonize和--check也是互斥。 --ask-pass 隐式输入MySQL密码 --charset 字符集设置 --check 检查从的延迟,检查一次就退出,除非指定了--recurse会递归的检查所有的从服务器。 --check-read-only 如果从服务器开启了只读模式,该工具会跳过任何插入。 --create-table 在主上创建心跳监控的表,如果该表不存在,可以自己手动建立,建议存储引擎改成memory;通过更新该表知道主从延迟的差距。 CREATE TABLE heartbeat ( ts                    varchar(26) NOT NULL, server_id             int unsigned NOT NULL PRIMARY KEY, file                  varchar(255) DEFAULT NULL, position              bigint unsigned DEFAULT NULL, relay_master_log_file varchar(255) DEFAULT NULL, exec_master_log_pos   bigint unsigned DEFAULT NULL ); heratbeat 一直在更改ts和position,而ts是检查复制延迟的关键 --daemonize 执行时,放入到后台执行 --user=-u, 连接数据库的帐号 --database=-D, 连接数据库的名称 --host=-h, 连接的数据库地址 --password=-p, 连接数据库的密码 --port=-P, 连接数据库的端口 --socket=-S, 连接数据库的套接字文件 --file [--file=output.txt] 打印--monitor最新的记录到指定的文件,很好的防止满屏幕全是数据。 --frames [--frames=1m,5m,15m] 在--monitor里输出的[]里的记录段,默认是1m,5m,15m。可以指定1个;如:--frames=1s,多个用逗号隔开。可用单位有秒(s)、分钟(m)、小时(h)、天(d)。 --interval 检查、更新的间隔时间。默认是见是1s。最小的单位是0.01s,最大精度为小数点后两位,因此0.016将自动调整至0.02。 --log 开启daemonized模式的所有日志将会被打印到制定的文件中。 --monitor 持续监控从库的延迟情况。通过--interval指定的间隔时间,打印出从库的延迟信息,通过--file则可以把这些信息打印到指定的文件。 --master-server-id 指定主库的server_id,若没有指定则该工具会连到主库上查找其server_id。 --print-master-server-id 在--monitor和--check模式下,指定该参数则打印出主的server_id。 --recurse 多级复制的检查深度。模式M-S-S...不是最后的一个从库都需要开启log_slave_updates,这样才能检查到。 --recursion-method 指定复制检查的方式,默认为processlist,hosts。 --update 更新主库上的心跳表。 --replace 使用--replace代替--update模式更新心跳表里的时间字段,这样的好处是不用管表里是否有行。 --stop 停止运行该工具(--daemonize),在/tmp/目录下创建一个"pt-heartbeat-sentinel"文件。后面想重新开启则需要把该临时文件删除,才能开启(--daemonize)。 --table 指定心跳表名,默认heartbeat。
  二、演示使用pt-heartbeat  # --master-server-id参数(主库my.cnf里配置的server-id值) a、首先添加表 # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --create-table --update MASTER> select * from heartbeat; +----------------------------+-----------+------------------+-----------+-----------------------+---------------------+ | ts | server_id | file             | position  | relay_master_log_file | exec_master_log_pos | +----------------------------+-----------+------------------+-----------+-----------------------+---------------------+ | 2022-09-22T09:48:14.003020 | 1 | mysql-bin.000391  | 677136957 | mysql-bin.000180      |                 120 | +----------------------------+-----------+------------------+-----------+-----------------------+---------------------+ b、更新主库上的heartbeat(后台运行) # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --update & [1] 31249 c、从库上监控延迟 # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --monitor --print-master-server-id 1.00s [ 0.02s,  0.00s,  0.00s ] 1  #实时延迟: 1分钟延迟,5分钟延迟,15分钟延迟 1.00s [ 0.03s,  0.01s,  0.00s ] 1   1.00s [ 0.05s,  0.01s,  0.00s ] 1 1.00s [ 0.07s,  0.01s,  0.00s ] 1 1.00s [ 0.08s,  0.02s,  0.01s ] 1 1.00s [ 0.10s,  0.02s,  0.01s ] 1 1.00s [ 0.12s,  0.02s,  0.01s ] 1 1.00s [ 0.13s,  0.03s,  0.01s ] 1 d、其他操作示例 #将主库上的update使用守护进程方式调度 # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --update --daemonize #修改主库上的更新间隔为2s # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --update --daemonize --interval=2 #停止主库上的pt-heartbeat守护进程 # pt-heartbeat --stop Successfully created file /tmp/pt-heartbeat-sentinel # rm -rf /tmp/pt-heartbeat-sentinel #单次查看从库上的延迟情况 # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --check 1.00 #使用守护进程监控从库并输出日志 # pt-heartbeat --user=root --password=pwd -S /tmp/mysql.sock -D test --master-server-id=1 --monitor --print-master-server-id --daemonize --log=/tmp/slave-heart.log
  三、自动化监控  注意: 如果想把这个输出结果加入自动化监控,那么可以使用如下命令使监控输出写到文件,然后使用脚本定期过滤文件中的最大值作为预警即可: 注意--log选项必须在有--daemonize参数的时候才会打印到文件中,且这个文件的路径最好在/tmp下,否则可能因为权限问题无法创建 # pt-heartbeat -D test --table=heartbeat --monitor --user=root --password=pwd --log=/opt/master-slave-delay.log --daemonize [root@master-server ~]# tail -f /opt/master-slave-delay.txt //可以测试,在主库上更新数据时,从库上是否及时同步,如不同步,可以在这里看到监控的延迟数据 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 ] ....... 下面是编写的主从同步延迟监控脚本,就是定期过滤--log文件中最大值(此脚本运行的前提是:启动更新主库heartbeat命令以及带上--log的同步延迟检测命令)。如果发生延迟,发送报警。 # cat /root/check-slave-monitor.sh#!/bin/bash cat /opt/master-slave-delay.log > /opt/master_slave_delay.log echo -e > /opt/master-slave-delat.log max_time=`cat /opt/master_slave_delay.log |grep -v "^#39; |awk "{print $1}" |sort -k1nr |head -1` NUM=$(echo "$max_time"|cut -d"s" -f1) if [ $NUM == "0.00" ];then echo "MySQL主从同步延迟一致" else echo "Mysql主从数据同步有延迟" # TODO 这里添加报警 fi结合crontab,每隔一分钟检查一次 # mysql主从同步延迟检查 * * * * * /bin/bash -x /root/check-slave-monitor.sh > /dev/null 2>&1
  关闭上面在主库上执行heartbeat的守护进程  方法一:可以用参数--stop去关闭 # pt-heartbeat --stop Successfully created file /tmp/pt-heartbeat-sentinel 这样就把在主上开启的进程杀掉了。 但是后续要继续开启后台进行的话,记住一定要先把/tmp/pt-heartbeat-sentinel 文件删除,否则启动不了 方法二:直接kill掉进程pid(推荐这种方法) #ps -ef|grep heartbeat kill -9 15152
  最后总结:
  通过pt-heartbeart工具可以很好地弥补默认主从延迟的问题,但需要搞清楚该工具的原理。
  重点了: 默认的Seconds_Behind_Master值是通过将服务器当前的时间戳与二进制日志中的事件时间戳相对比得到的,所以只有在执行事件时才能报告延迟。从库复制线程没有运行,也会报延迟。
  还有一种情况:大事务,一个事务更新数据长达一个小时,最后提交。这条更新将比它实际发生时间要晚一个小时才记录到二进制日志中。当从库执行这条语句时,会临时地报告备库延迟为一个小时,执行完后又很快变成0。
  以上就是今天的内容,希望读者朋友看完这篇文章后有所启发。

奔跑吧第6季下期该火了,3个活宝嘉宾回归,都是老熟人不知不觉,奔跑吧第6季已经更新到第7期了。不知道大家追着看了没有,什么感觉。反正小编是觉得节目越来越好看了。第6期最后的撕名牌环节让节目重回巅峰,第7期金靖和蔡徐坤再续前缘,还有宋清朝一个很特殊的官职,叫道台,几乎没人能说清他是做啥的在我国很多地方,都或多或少地会留下道台府道台衙道台衙门的遗址或者是传说。诸如哈尔滨道台府长春的道台衙门,那都是当地最高等级的官衙,也就是说,道台是当地最大的官。那么清朝的道台到底是赌王长房嫡孙女罕露面!美貌出众神似何鸿燊,定居国外生活低调6月24日,赌王长房嫡孙女何家文更新了个人社交账号的动态,曝光了自己的近况。据何家文透露,本周她举办了一场珠宝展览,很感谢来参加的朋友们,期待更多的活动。罕见露面的何家文,穿着黄色经常染发会致癌,是真的还是假的?研究结果公布无论男女都特别在意自己的外在形象,会通过管理身材或者是改变发型来彰显个人魅力,之前流行自己把头发染得五颜六色,被人们称之为杀马特。如今人们开始认为所染的颜色能够被大众所接受。同时也黑天鹅变肌肉女!娜塔莉波特曼为雷神4健身10个月,网友太牛了近日,娜塔莉波特曼的健身教练娜奥米彭德加斯透露娜塔莉波特曼为了扮演好雷神4中的女雷神,一共健身训练了10个月,项目内容包括拳击哑铃等等。自从女雷神的造型曝光以来,娜塔莉波特曼的健身莫迪不过就征个兵,为什么整个国家都暴乱了,印度人就这么想当兵最近印度因为征兵的事情,闹得那叫一个天翻地覆。根据印度快报报道,印度目前已经有8个邦发生了暴乱,大量的民众走上了街头,烧砸火车,围堵高速公路,攻击警方,据不完全统计,近一周,印度全光亮里相遇再次见到周逸时,我拿过他手机,熟练地输入我的微信号。周逸薄唇慢慢地吐出几个字,你在做什么?我将手机还给他,一会儿我给你发微信,你记得回。旁边的学姐惊讶地看着我,现在学妹追人都那么生蓝琼缨去世后何超琼公开露面,为祖业力挽狂澜已成功贷款161亿6月25日,赌王二太蓝琼缨病逝之后,何超琼首次公开露面,在香港回归25周年的活动上致辞,感谢中央对香港的支援。还有几天就是香港回归25周年,作为香港妇联主席的何超琼,当天以一身暗紫看似少女实则少妇,这6位已婚已育的90后女星,个个美得不像话娱乐圈一直是个吃青春饭的地方,很多偶像艺人往往只有那么十几年的时间最受欢迎,因此,利用年龄优势好好搞钱,成了绝大多数明星的人生目标。不过,也有那么一些女星始终以爱情至上,即使正值青尼泊尔山路,顺利的话40公里走12小时,驴子是运输的主力每当雨季来临,这个男人都是一脸的难过。拉玛以微薄的收入勉强维持着他的当地首富地位。作为十里八村唯一的小卖部,他的商店售卖各种商品,而能给他带来最高利润的还是燃油,他手底下的御用司机煮玉米时,直接加清水煮就废了,教你1招,玉米软糯更香甜导语煮玉米时,直接加清水煮就废了,教你1招,玉米香甜又软糯,比买的还好吃,快收藏!正所谓人间烟火气,最抚凡人心,柴米油盐酱醋茶,一日三餐应四季,承载着烟火气的美食是最能抚慰人心的,
飞利浦失宠!国产剃须刀迎来新翘楚,快速剃须无残留现在我们生活在看脸的时代,无论是男人还是女人,都很注重自身形象。女人想要变得漂亮出门之前就要化妆,而男人则是需要抱着干净的脸庞,只有保持脸部干净,才会给人一种舒服的感觉,我们男人都放歌十月豪情满怀尊敬的各位领导,各位朋友金秋送爽,丹桂飘香。一曲欢快吉祥的喜洋洋,表达了我们对日照港深深的厚爱表达了我们对祖国充满感激的心一曲祥和温馨的幸福年,表达了我们对幸福的憧憬表达了我们对党清秋薄凉,愿你向阳而生人生如秋,愿你热爱生活作雨飘清荷香(河南雨小荷)清秋,是一朵霜花,美丽却薄凉,透着优美的诗意。让人看上一眼,便心生怜惜。清秋,是一朵菊花,平凡而倔强,不畏风霜之寒。让人一靠近,便心生淡然。于清秋的风中,人生下半场收起委屈,藏好软弱,戒掉大方周国平说成熟应当是独特个性的形成,真实自我的发现,精神上的结果和丰收。这一路,我们遇到了很多人,承受过很多事。受了委屈,不曾被人理解凡事忍让,也未曾换来真心被人所伤,还要违心原谅。争辩可能一开始就是个错误生活中我们不免会对各种各样的问题与人辩论,争讨各个争辩的话题不花八门,然而大多数人都笃定自己的观念是正确并视之为真理而且具有排他性,不容得半点侵犯,每每遇到与自己观点的不统一必将拿愿你从此无烦扰,余生只有开口笑历经千帆才明白,内心宁静才能处世不惊,想法简单才可逍遥自在,常怀笑容才会事事顺心。林语堂说人生在世,还不是有时笑笑人家,有时给人家笑笑。生命太短,没时间伤春悲秋。阅尽世事,便会懂得一个人真正的高贵,是灵魂的丰盈人和动物的区别就在于,人有灵魂,动物没有灵魂。苏格拉底和傻瓜的区别就在于,苏格拉底的灵魂醒着,傻瓜的灵魂昏睡着。当我们在灵魂只能独行这本书的封面上,读到这句话的时候,是不是觉得特别歌吹远,梦魂惊,醉倒不知诗酒换浮名歌吹远,梦魂惊,醉倒不知诗酒换浮名。烟雨楼,曼舞几时休,今宵有酒无人共,醉倒花间不知愁。醉倒不知年,诗酒逍遥自在天,一曲狂歌梦里会婵娟。离愁浩荡杯中酒,红尘几度秋,一曲清歌梦里泪长腾格里沙漠,徒步银河之下,遇见你不曾见过的大漠风光翱翔在金黄的沙漠海洋中一望无垠的空旷从沙漠绿洲中读懂生命的珍贵用徒步的方式去感受大漠驼铃夕阳与月夜你会领略到一种空旷与世无争的宁静没有低头5。5寸屏的世界抬头亿万星空的银河漫天黄沙放空自我发呆冥想青城这个景点很适合夏日时光,沿大黑河郊野公园北岸东行,不知不觉间来到一处小山丘旁,登木梯而上,来到观景台,向下俯视,大片大片的绿草地绵延视野,这就是首府园林今年重点打造的梵草映月景观。7月20日,记好看的女士发型推荐16款,有长有短还有大小卷,总有一款打动你既然你我相遇,那就是缘分,关注时尚,关注发型,关注刘丽丽喜欢和适合的发型是不一样的,为了满足大多数姐妹的需求,今天为大家带来的发型推荐就有长有短还有大小卷,一共16款,总有一款打动