pt-stalk

 

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

转载于:https://www.cnblogs.com/hfclytze/p/pt-stalk.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490068.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里平头哥会和AMD一样成为令英特尔头痛的存在吗?

来源:与非网阿里巴巴通常被认为是中国最大的电子商务和云平台运营商。但是去年9月,这家科技巨头与一家名为平头哥的新子公司正式进入了芯片制造市场。此举是在阿里巴巴收购中国芯片制造商杭州中天微之后的几个月。平头哥将中天微与阿里巴巴自己的研发部门…

python变量类型之间转换_Python常用数据类型之间的转换总结

函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) 创建一个复数 str(x) 将对象 x 转换为字符串 repr(x) 将对象 x 转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,…

extjs中store获取后台数据_Excel实战技巧64: 从工作簿中获取数据(不使用VBA)

学习Excel技术,关注微信公众号:excelperfect这是在研读《Escape From Excel Hell》时学到的技术,从本工作簿中或者其他工作簿中获取所需要的数据,以便于作进一步的分析或者绘制Excel图表。下图1所示是用于获取数据的工作表。图1在…

5G都不能取代的Wi-Fi6,到底有多厉害?

来源:北京物联网智能技术应用协会蜂窝通信与WiFi,就像移动设备上的两大高手。彼此势均力敌:一个主室内,一个主室外。WiFi是移动网络的室内覆盖补充,也承担着大量的数据流量卸载,二者既想各自占山为王&#…

eclipseini设置使用的jdk_系统安全篇(四)-如何升级JDK版本?

最近在做项目时为保证系统安全,使用漏洞扫描工具对程序所在的设备进行安全漏洞扫描,发现了好多JDK的安全漏洞,为了对发现的这些漏洞进行修复,需要升级JDK版本。本章主要介绍如何升级JDK版本。第一步、从oracle官网下载JDK最新版本…

supervisord安装使用简记

What is supervisor Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. 引用自supervisor官网,中文意思就是是一个C/S架构的系统,用来监控管理类UNIX系统上进…

python文件读写方法手机_python读取文件—txt文件常用读写操作

txt文件的打开的两种方式:f open("data.txt","r") #设置文件对象f.close() #关闭文件为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代with open(data.txt,"r") as f: #设置文件对象str f…

ppt放映显示备注 投影不显示

点击设置幻灯片放映 勾选使用演示者视图 点击从当前幻灯片开始 在放映幻灯片过程中右键鼠标,点击显示演示者视图

懂数学人的都认同:数学的本质[关联]万物(一)

来源:数学职业家本文将会以数学为主线和切入点,进行一次思想和思维上的自由推理探索认知之旅,并将会透过一种有趣视角和观点,窥见一个我们所熟悉又有所不同的世界、万事万物和我们的宇宙。现在就让我们开始这次认知探索的旅程吧。…

python怎么做数据分析_如何用python进行数据分析

1、Python数据分析流程及学习路径 数据分析的流程概括起来主要是:读写、处理计算、分析建模和可视化四个部分。在不同的步骤中会用到不同的Python工具。每一步的主题也包含众多内容。根据每个部分需要用到的工具,Python数据分析的学习路径如下&#xff1…

Ruby 基础教程1-6

1.循环实现方法 循环语句 (while;for; loop,until)循环方法(times,each)2.for for 变量 in 对象主体end3.whilewhile 条件end4.until与while相反 条件不成立才进入循环体until 条件end5.循环控制break nextredo 重复执行当前循环,循环变量不变6.选择times 确定循…

redis实例python_生产消费者模式与python+redis实例运用(基础篇)

根据这个图,我们举个简单的例子:假如你去某个餐厅吃饭,点了很多菜,厨师要一个一个菜的做,一个厨师不可能同时做出所有你点的菜,于是你有两个选择:第一个,厨师把所有菜都上齐了&#…

一文告诉你,谷歌是否真的实现了「量子至上」

▲ 上图展示的是量子计算机系统中的一个组成部分(稀释制冷机),这张照片拍摄于2016年的一间无尘运行室。如果量子计算机真的能够以超越传统计算机的速度与效率完成某种计算,那么“量子至上”目标就算是真正达成。但是,这…

有两个python怎么停用其中一_如何在python中停止另一个已经运行的脚本?

There is a way to start another script in python by doing this: import os os.system("python [name of script].py") So how can i stop another already running script? I would like to stop the script by using the name. 解决方案 It is more usual to i…

git 使用及常用命令

git在团队项目中的使用流程 1.首先从一个git远程仓库中clone项目到本地 ?1git clone 仓库地址2.创建开发分支 一般我们写代码不会在master分支上面写,而是新建一个分支 ?1git checkout -b test3.在test分支上面进行代码修改,比如完成某一项功能的开发 …

华为防火墙做单臂路由_华为单臂路由的配置方法步骤图

部署了VLAN的交换机可以实现在同一广播域内不同主机之间的通信,但是要想实现不同VLAN间主机通信,就要引入路由技术,可以通过二层交换机配合路由器来实现路由转发。下面是学习啦小编给大家整理的一些有关华为单臂路由配置方法,希望…

url主机域名可以省略_从输入url到页面完成加载发生了什么

作者 | Jake Zhang链接 | https://juejin.im/post/5e92f11b6fb9a03c46493880在写这篇文章之前本想着这个知识点涉及知识点太多太杂,找一篇大牛写的看看就算了,但是看了大概七八篇后,内心更纠结了——🙃🙃🙃…

Java的api中文文档

Java 8 中文版 - 在线API中文手册 - 码工具

揭秘毕加索被隐藏千年的“画中画”,神经网络让它重新面世

来源:technologyreview众所周知,毕加索是一位西班牙的天才画家,在20世纪时没有哪位艺术家能够像毕加索一样画风多变。毕加索的作品通常被分为9个时期,时期的名称尚有争议,大致是“蓝色时期”、“粉红色时期”、“立体主…