这篇文章主要介绍了Mysql如何实现主从延迟监控,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Mysql 主从延时监控

pt-heartbeat-uroot-proot-Dchenmh--create-table--update--daemonize

-u:连接主库的用户

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

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

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

2.监控从库

pt-heartbeat-uroot-proot-Dchenmh--table=heartbeat--master-server-id=10--monitor-h192.168.137.20--interval=1

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

3.写入监控日志做预警分析

pt-heartbeat-uroot-proot-Dchenmh--table=heartbeat--master-server-id=10--monitor-h192.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--checkaremutuallyexclusive--daemonizeand--checkaremutuallyexclusive.他们之间还是存在互斥。

Options:--ask-pass使用密码进行mysql连接时给予提示--charset=s-A默认的字符选项--check执行一次从库的监控就结束--check-read-only如果是只读的服务器那么使用该选项会保持插入--config=A使用逗号分隔,如果指定了,那么该参数作为命令行的第一个选项--create-table如果表不存在创建表heartbeat--daemonize创建后台的更新shell--database=s-D指定连接的数据库--dbi-driver=sSpecifyadriverfortheconnection;mysqlandPgaresupported(defaultmysql)--defaults-file=s-F通过提供的文件进行mysql连接--file=s输出最新的--monitor监控信息到指定的文件--frames=s设置时间周期(default1m,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=iCheckslavesrecursivelytothisdepthin--checkmode--recursion-method=aPreferredrecursionmethodusedtofindslaves(defaultprocesslist,hosts)--replace使用replace替换--UPDATE操作--run-time=m指定监控的时长,单位有:s=seconds,m=minutes,h=hours,d=days;如果比指定默认是以秒为单位一直监控下去--sentinel=sExitifthisfileexists(default/tmp/pt-heartbeat-sentinel)--set-vars=ASettheMySQLvariablesinthiscomma-separatedlistofvariable=valuepairs--skew=f指定执行从库检查的延时时长默认是0.5--socket=s-S指定连接时使用的socket文件--stop停止后台更新进程并生成--sentinel指定的文件--table=s指定更新的表(默认是heartbeat)--update更新主的heartbeat表,这个参数是后台进程必须的参数也可以用--replace替代--user=s-u指定用户名--utc忽略系统时间仅使用UTC--version显示版本信息--[no]version-checkCheckforthelatestversionofPerconaToolkit,MySQL,andotherprograms(defaultyes)

感谢你能够认真阅读完这篇文章,希望小编分享的“Mysql如何实现主从延迟监控”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!