本文主要描述基于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';

install.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。


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

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

  1. 【clickhouse】clickhouse 利用Grafana与系统表监控ClickHouse查询

    文章目录 1.概述 1.概述 转载:利用Grafana与系统表监控ClickHouse查询 收藏从未停止,写在这里以防万一

  2. mysql慢查询分析工具_mysql慢查询日志分析工具

    启用 slow log 有两种启用方式:1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-querie ...

  3. pt-query-digest查询日志分析工具

    原文地址:http://blog.csdn.net/seteor/article/details/24017913 1. 工具简介 pt-query-digest是用于分析mysql慢查询的一个工具, ...

  4. 编写一个能监控到windows进程占用内存大小的脚本_Java性能监控分析及调优工具...

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 Java性能监控分析及调优工具 ...

  5. arnold ass standin 代理模型批量查询 与替换工具发布1.0

    arnold ass standin 代理模型批量查询 与替换工具,方便大量代理模型物体的场景替换ass 模型路径.阿弥陀佛 使用方法: 1.查找替换: 拷贝战体 standin 节点 ass 路径到 ...

  6. 数据库实验报告【学会使用企业管理器和查询分析器管理工具】

    Hello各位,本系列为数据库实验报告的合集,是我按照<数据库系统概论习题解析与实验指导第5版>中的实验指导写出来的所有报告.这个系列的每一份报告都是我滴原创于是想把自己的劳动成果发出来共 ...

  7. UI 自动化的页面对象管理工具之实现思路

    原文由alex发表于TesterHome社区网站,点击原文链接可与作者直接交流 本文将介绍下 UI 自动化的页面对象管理工具PO-Manager之实现思路: 更多PO-Manager的介绍,可查看上篇 ...

  8. anemometer mysql5.6_Anemometer|Anemometer(mysql慢查询日志分析工具)下载免费版 - 欧普软件下载...

    Anemometer是一款非常实用的mysql慢查询日志分析工具,该工具是基于LAMP编写的,使用前需要搭建LAMP环境,它能够实现慢查询日志收集信息,方便dba对数据库慢查询的观测和统计.需要的朋友 ...

  9. 监控linux资源的软件,6个监控linux系统资源的快速工具

    系统管理员需要对服务器进行监控以确保其正常运行,通过这种方式管理员能够提前发现可能存在的问题并恢复系统,以避免麻烦的出现. Linux上有很多命令来监控不同的系统资源,如CPU使用率.内存使用情况.网 ...

最新文章

  1. 获得span里面价值(在特殊情况下 )
  2. Kotlin如何避免“!!”(非空断言)
  3. Servlet的调试
  4. 基础知识及命令(1)
  5. 证明LDU分解的唯一性
  6. RTT distribution of Internet
  7. leetcode刷题日记-转换成小写字母
  8. php限制单设备登录,app限制一个账号只能单设备登陆
  9. 金山html编辑器,fresh html
  10. 工业镜头、相机的结构、参数解释及选型指南
  11. 【开发经验】quartz表结构说明(字段说明)
  12. 字符串intern()方法详解
  13. BUUCTF 藏藏藏
  14. 用Python爬取淘宝2000款套套,我发现了一个重要秘密
  15. 面试回忆之二:MLY公司的面试题
  16. 【小程序】小程序安卓,ios,ipad兼容问题
  17. 三年级计算机帮助我们学本领,三年级学本领100字作文
  18. Linux硬盘空间爆满后如何清理
  19. 操作系统中的进程间相互作用
  20. 通信电子电路(二十三)习题讲解 第五章

热门文章

  1. ubuntu解压和压缩文件
  2. safari图片跨域
  3. thinkphp5中使用workerman
  4. 各类排序算法实现(亲测)
  5. python发邮件给女朋友代码_python实现邮件发送完整代码(带附件发送方式)
  6. url模糊匹配优化_企业必备的网站SEO优化解决方案
  7. php网址变量怎么输出,【PHP网站】如何使用dedecms v5.7前台模版里输出变量
  8. 计算机应用基础0006 19秋在线作业2,川大《计算机应用基础0006》13春在线作业2
  9. jmeter java接口_JMeter接口Java开发五步曲
  10. redisTemplate.opsForHash()