Query-digest-UI监控慢查询,以及此工具的改进版

本文主要描述基于pt-query-digest工具对慢查询日志进行监控的工具Query-digest-UI。(安装、使用、介绍以及benren提供的改进版)

本文中描述的内容与其他网站上对Query-digest-UI的安装和使用稍有不同,因为本人对此工具稍做了调整。

欢迎转载,请注明作者、出处。
作者:张正
blog:http://space.itpub.net/26355921 
QQ:176036317
如有疑问,欢迎联系。

准备条件:
1.MySQL开启慢查询
2.安装Percona Toolkit
rpm -qa|grep percona
percona-toolkit-2.2.7-1
下载(百度云盘):http://pan.baidu.com/s/1eQgQAhc

3.下载Query-Digest-UI
官网:https://github.com/kormoc/Query-Digest-UI
下载(百度云盘):http://pan.baidu.com/s/1gd1Nn1L

4.准备好php相关模块(或者yum)
Apache, mod_php, php_pdo
5.启动apache服务
rpm -qa|grep http
httpd-2.2.3-45.el5
安装:
1.安装Percona Toolkit:
rpm -ivh percona-toolkit-2.2.7-1.noarch.rpm
NOTES:
需要先安装:perl-DBD-MySQL-3.0007-2.el5
但是安装此模块时,可能会报错:
libmysqlclient.so.15()(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
libmysqlclient.so.15(libmysqlclient_15)(64bit) is needed by perl-DBD-MySQL-3.0007-2.el5.x86_64
需要安装 或 提供libmysqlclient.so.15
可在/usr/lib或者/usr/lib64下,对libmysqlclient.so.16或libmysqlclient.so.18 建立软连接:libmysqlclient.so.15
ln -s /usr/lib64/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.15

2.将Query-Digest-UI-master.zip文件包解压,重命名为slow,并移动到/var/www/html 下(apache默认路径)
pwd
/var/www/html/slow
3.安装php相关模块:

4.执行setup 脚本,并创建用户:
此处的install.sql脚本为Anemometer工具的脚本,该脚本创建的global_query_review和global_query_review_history表
比pt-query-digest工具创建的表多一些字段,能提供更详细的信息。


[root@/var/www/html/slow]mysql -uroot -pxxx < install.sql
[root@/var/www/html/slow]mysql -uroot -pxxx
mysql > grant all on slow_query_log.* to 'slow'@'%' identified by 'test';
mysql > grant select on *.* to  'slow'@'%';
mysql > grant all on slow_query_log.* to 'slow'@'localhost';
mysql > grant select on *.* to  'slow'@'localhost';

fj.pnginstall.sql
5.将慢查询日志通过pt-query-digest分析后存入db.example.com主机上的数据库中:
pt 版本小于2.2版本的语句:
pt-query-digest --user=slow --password=test \
                  --review h=db.example.com,D=slow_query_log,t=global_query_review \
                  --review-history h=db.example.com,D=slow_query_log,t=global_query_review_history \
                  --no-report --limit=0% \ 
                  --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" \ 
                  /root/test/localhost-slow.log
pt 版本大于2.2版本的语句:
pt-query-digest --user=slow --password=test --review h=db.example.com,D=slow_query_log,t=global_query_review --history h=hd-119-186,D=slow_query_log,t=global_query_review_history --no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /root/test/localhost-slow.log
NOTES:
1.此处的$HOSTNAME 的值为执行该命令主机的主机名。
2.如果是用一台服务器监控多台mysql数据库的慢查询,修改 --filter 中  $event->{hostname}=\"host2\""
3.或者将host2改为IP,即主机名显示为IP,取本机局域网IP:
将host2改为:
`ifconfig eth0|grep "inet addr"|awk '{print $2}'|awk -F':' '{print $2}'`
执行这个操作后,将会把慢日志分析后存入mysql的slow_query_log数据库。记得保证相应 '用户'@'主机' 的访问权限。
6.修改数据库连接信息:
pwd
/var/www/html/slow
cp config.php.example config.php
vi config.php
. . . . . . 
$reviewhost = array(
// Replace hostname and database in this setting
// use host=hostname;port=portnum if not the default port

    'dsn'           => 'mysql:host=hostname;port=3306;dbname=slow_query_log',


    'user'          => 'slow',


    'password'      => 'test',


// See http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html#cmdoption-pt-query-digest--review


    'review_table'  => 'global_query_review',


// This table is optional. You don't need it, but you lose detailed stats


// Set to a blank string to disable


// See http://www.percona.com/doc/percona-toolkit/2.1/pt-query-digest.html#cmdoption-pt-query-digest--review-history


    'history_table' => 'global_query_review_history',

);
注意正确填写红色字体部分变量的值。
7.通过网页访问:(注:目前发现该工具不支持360浏览器)
http://192.168.44.130/slow
效果图:
 


8.发现如果该工具监控多台MySQL服务器,慢查询日志又非常多的情况下,会发现非常不方便。
我对这个工具进行了修改,增加了hosts列,可通过选择框选择相应的值进行过滤:


下载(百度云盘):http://pan.baidu.com/s/1hqoUcpm
9.这个监控界面已经有了对主机名的过滤筛选,但是如果用于实际的生产环境中来监控,还是显得不够直观。
我对这个工具又进行了进一步的修改,界面如下:


下载(百度云盘):http://pan.baidu.com/share/link?shareid=3651139099&uk=2550236109

1.第一列直接为SQL语句,可在下面输入相应的语句,匹配方式为 like '%strings%'
2.第二列为总执行次数
3.第三列为总的执行时间
4.第四列为平均执行时间
5.第五列为平均返回行数
6.第六列为平均扫描行数
7.增加了第七列,使用时间来进行过滤。
进入本监控页面,默认是显示所有慢查询SQL的前10条。然后可通过该选项列表中选择 最近3天、最近7天、10天以前、以及可以单独选择从从10天以前到现在的每一天中的SQL情况。
实际生产的监控环境,可通过Last executed和Monitored Hosts来过滤我们需要查看的慢查询SQL。

最后附上该工具的完整文档:
fj.pngMySQL慢查询监控Query-Digest-UI.docx
本文转自ITPUB博客84223932的博客,原文链接:Query-digest-UI监控慢查询,以及此工具的改进版,如需转载请自行联系原博主。

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

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

相关文章

电热水器工作过程 c语言,热水器工作流程图

燃气热水器做为热水供应设备&#xff0c;被很多家庭所采用&#xff0c;然而&#xff0c;恒温作为燃气热水器的一个痛点&#xff0c;一次次被击中&#xff0c;那么到底为什么燃气热水器实现恒温这么难呢&#xff1f;我们将从原理讲起&#xff0c;带您认识真正的燃气热水器。燃气…

linux上tail命令_如何在Linux上使用tail命令

linux上tail命令Fatmawati Achmad Zaenuri/ShutterstockFatmawati Achmad Zaenuri / ShutterstockThe Linux tail command displays data from the end of a file. It can even display updates that are added to a file in real-time. We show you how to use it. Linux tail…

iphone充电图_哪些iPhone具有无线充电功能?

iphone充电图Kevin Parrish凯文帕里什Wireless charging means you can re-energize your phone’s battery without a physical tether. It also prevents possible damage to your phone’s charging port. Unfortunately, not all phones support wireless charging, but we…

windows平台下基于QT和OpenCV搭建图像处理平台

在之前的博客中&#xff0c;已经分别比较详细地阐述了“windows平台下基于VS和OpenCV”以及“Linux平台下基于QT和OpenCV"搭建图像处理框架&#xff0c;并且生成了相应的免费视频。这篇博客的主要内容&#xff0c;就是基于最新版本的相应工具&#xff0c;在windows平台下&…

android死锁解决方案,【线程死锁】Android多线程死锁产生的原因以及如何避免

一、死锁定义1、生活中的列子两人吃饭&#xff0c;但只有一双筷子&#xff0c;2人轮流吃(同时拥有2只筷子才能吃)&#xff0c;某个时候一人拿了左筷子&#xff0c;一人拿了右筷子&#xff0c;两人同时占用一个资源&#xff0c;等待另一个资源&#xff0c;这时候甲等乙吃完并释放…

android mvvm 官方例子,详解Android的MVVM框架 - 数据绑定

&#xfeff;本教程是跟着 Data Binding Guide学习过程中得出的一些实践经验&#xff0c;同时修改了官方教程的一些错误&#xff0c;每一个知识点都有对应的源码&#xff0c;争取做到实践与理论相结合。Data Binding 解决了 Android UI 编程中的一个痛点&#xff0c;官方原生支…

mac设置文件权限_如何在Mac上设置文件权限

mac设置文件权限Like all major operating systems, macOS allows you to restrict access to files using a complex set of file permissions. You can set these yourself using the Finder app, or by using the chmod command in your Mac’s terminal. Here’s how. 与所…

Discrete Log Algorithms :Baby-step giant-step

离散对数的求解 1.暴力 2.Baby-step giant-step 3.Pollard’s ρ algorithm …… 下面搬运一下Baby-step giant-step 的做法 这是在 https://ctf-wiki.github.io/ctf-wiki/crypto/asymmetric/discrete-log/discrete-log/ 上看到的&#xff0c;比较容易理解。 而且&#xff0c;…

Android添加item动画,RecyclerView基础篇-Item添加动画

Android_Banner.jpg简介本节中我们介绍下给RecyclerView中的Item添加动画。添加的动画&#xff0c;分为&#xff0c;在打开列表时有Item的展示动画&#xff0c;当滑动的时候没有动画和打开列表滑动时有动画两种实现过程实现一个列表效果如下Screenshot_2020-09-01-17-03-35-349…

geek_Ask How-To Geek:营救受感染的PC,安装无膨胀iTunes和驯服疯狂的触控板

geekYou’ve got questions and we’ve got answers. Today we highlight how to save your computer if it’s so overrun by viruses and malware you can’t work from within Windows, install iTunes without all the bloat, and tame a hyper-sensitive trackpad. 您有问…

第1课:接口测试和jmeter总结

接口测试 1. 接口的分类&#xff1a;webService和http api接口1&#xff09; webService接口&#xff1a;是按照soap协议通过http传输&#xff0c;请求报文和返回报文都是xml格式&#xff0c;一般要借助工具来测试接口&#xff1b;2&#xff09; http api接口&#xff1a;是按照…

极客时间和极客学院_极客历史记录的本周:Twitter的诞生,OS X十周年以及太空停留时间最长的时代即将结束...

极客时间和极客学院Every week we bring you interesting trivia and milestones from the archives of Geekdom. Today we’re taking a peek at the birth of Twitter, ten years of Mac OS X, and the longest space stay in history. 每周&#xff0c;我们都会为您带来有趣…

Android风格ppt,Material Design风格的快手PPT

突发奇想&#xff0c;感觉MD风格既然适合 Android 软件的界面&#xff0c;那么在一般PPT 演示中&#xff0c;效果当也是不错。于是在网上去寻了几处制作贴&#xff0c;也简单看了 MD 设计指南的几处要点。先试试一番再说。关于 MD 设计指南和几处制作贴&#xff0c;我会把链接贴…

dropbox链接过期_询问操作方法:“开始”菜单中的Dropbox,了解符号链接和翻录TV系列DVD...

dropbox链接过期This week we take a look at how to incorporate Dropbox into your Windows Start Menu, understanding and using symbolic links, and how to rip your TV series DVDs right to unique and high-quality episode files. 本周&#xff0c;我们来看看如何将D…

android listpreference 自定义,Android – 我的ListPreference中的自定义行布局

在我的Android应用程序中,我实现了从ListPreference扩展的类SubtitleColorListPreference.我需要这个,因为我需要为列表中的每个项目设置自己的布局.一切正常,它看起来像这样&#xff1a;重要的代码是onPrepareDialogBu​​ilder(AlertDialog.Builder builder)中的方法,我在其中…

火狐 增强查找工具栏_在“提示”框中:简单的IE至Firefox同步,轻松的Windows工具栏和识别USB电缆...

火狐 增强查找工具栏() Every week we tip into our mail bag and share great tips from your fellow readers. This week we’re looking at an easy way to sync your bookmarks between IE and Firefox, using simple Windows toolbars, and a clever way to ID USB cables…

Input Director使用一个键盘和鼠标即可控制多台Windows计算机

The problem is having two or more PC’s and having to go back and forth between workstation. Input Director solves the problem by allowing you to control multiple Windows systems with only one keyboard and mouse on the Master PC. 问题是拥有两台或更多台PC…

excel导入csv文件_如何将包含以0开头的列的CSV文件导入Excel

excel导入csv文件Microsoft Excel will automatically convert data columns into the format that it thinks is best when opening comma-separated data files. For those of us that don’t want our data changed, we can change that behavior. Microsoft Excel将在打开…

android 9.0新ui,SystemUI分析(Android9.0)

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;一、SystemUI组成SystemUI是Android的系统界面&#xff0c;包括状态栏statusbar、锁屏keyboard、任务列表recents等等&#xff0c;都继承于SystemUI这个类&#xf…

chromebook刷机_如何为不支持Chrome操作系统的网站欺骗Chromebook用户代理

chromebook刷机Not all browsers handle websites the same, and if they don’t support your operating system or browser, you could be denied access. Luckily, you can spoof the user agent on Chrome OS to make it look like you use a completely different system.…