pt-stalk

1.  概述

在MySQL服务器出现短暂(5~30秒)的性能波动的时候,一般的性能监控工具都很难抓住故障现场,也就很难收集对应较细粒度的诊断信息。另外,如果这种波动出现的频率很低,例如几天才一次,我们也很难人为的抓住现场,收集数据。这正是pt-stalk所解决的问题。

2.  收集的性能和状态数据

让pt-stalk后台运行(--daemonize),并监视SHOW GLOBAL STATUS中的Threads_connected状态值,如果该值超过10,则触发收集主机和MySQL的性能、状态信息。pt-stalk会每隔一秒检查一次状态值,如果连续5次满足触发条件,则开始收集。

pt-stalk --collect-tcpdump --function status \
--variable Threads_connected --threshold 2500 \
--dest /data/dbdata/pt-stalk --iterations 10 \
--daemonize -- --user=root -ptest

使用pt-sift进行监控文件分析(man pt-sift查看使用方法):

 pt-sift /data/dbdata/pt-stalk/2016_08_22_15_50_19-tcpdump

3.  参数

※ –function:设置触发条件,包括status、processlist、自定义脚本,详细见触发条件部分

※ –dest:设置collect信息的存储目录,默认/var/lib/pt-stalk/。

说明:设置–dest /u01/mysql选项到mysql目录之后,pt-stalk在清理超过期限的日志时,会暴力的将该目录下所有修改时间超过一定日期的文件全部删掉,因此在设置dest目录时必须慎重(如果设置最好是一个独立的目录,而不是跟mysql或者其他设置在同一个目录)。–dest默认值是查看pt-stalk的源码(默认pt-stalk将收集的数据放在目录/var/lib/pt-stalk下):

※    –iterations:该参数指定pt-stalk在收集几次故障现场后就退出。默认pt-stalk会一直运行。

※ –run-time:触发收集后,该参数指定收集多长时间的数据。默认是30秒,比如show processlist会连续收集30次。

※ –sleep:为防止一直触发收集数据,该参数指定在某次触发后,必须sleep一段时候才继续观察并触发收集。默认是300秒

※ –interval:默认情况pt-stalk会每隔一秒检查一次状态数据,判断是否需要触发收集。该参数指定间隔时间,默认是1秒。

※ –cycles:默认情况pt-stalk只有连续观察到五次状态值满足触发条件时,才触发收集。该参数控制,需要连续几次满足条件,收集被触发,默认是5次。

※ –verbose:设置log的输出级别,默认是2;第一次运行可以设置为3,方便观察情况0(Errors)、1(Warnings)、2(Matching triggers and collection info)、3(Non-matching triggers)

※ –plugin:和–function参数类似,可以指定一个包含before_collect、after_collect等函数的shell脚本。

※ --log指定一个你希望的log目录和文件,默认我们可以通过文件/var/log/pt-stalk.log,查看pt-stalk的运行状态

4.  触发条件

三种触发条件,通过参数function设置:

※ status

–function status –variable Threads_connected –threshold 2500,表示MySQL状态值Threads_connected超过2500时触发数据收集。常用的触发条件还可以使用Threads_running等。

※ processlist 

–function processlist –variable State –match statistics –threshold 10,表示,show processlist中State列的值为statistics的线程数超过10则触发收集。

※    自定义脚本 

5.  参考文档 

http://www.tuicool.com/articles/JjUNji

http://www.orczhou.com/index.php/2012/06/mysql-troubleshooting-with-pt-stakl/

http://wenku.baidu.com/link?url=a3fZVGFqoeS4WIT7kCMtkuVteqVYn0K2wFVaU80B2DERFyKHvFGJkZ9SVeDldpiy3Z-D1Y3cMeFdBEEuDdCCYz0cMS2R-4kA5Jc6UJWoV07

posted on 2016-08-22 15:56  hf小猪  阅读(1292)  评论(0编辑  收藏  举报