基于Query-Digest-UI对mysql慢日志web可视化

Query-Digest-UI是一款基于percona-toolkit管理工具中pt-query-digest的对MySQL慢查询日志进行监控并结合lamp以图形化展示的工具。

结构图如下:

一、准备工作:
1.  Apache, mod_php, php_pdo
2. 安装: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

二、安装
1.Query-Digest-UI是依赖对pt-query-digest工具对慢日志的分析,所以要安装percona_toolkit
下载percona-toolkit_2.2.17-1.tar.gz

安装:
#perl  Makefile.PL
#make
#make install
2.安装LAMP
3.下载安装Query-Digest-UI
官网下载地址:https://github.com/kormoc/Query-Digest-UI
更改版下载:https://pan.baidu.com/share/link?shareid=3651139099&uk=2550236109    (网上提供的,我用的是这版)
query-digest-ui_last-edition.zip
解压更名放到/var/www/html/slow
4.创建库和表
1.install.sql    
Query-Digest-UI没有这个脚本,要到Anemomete里找这个sql,下载地址:https://github.com/box/Anemometer     Anemometer和 Query-Digest-UI是一样的都是为mysql慢日志提供可视化的。
2.创建用户 (数据库:192.168.1.1,lamp+Query-Digest-UI:192.168.1.2)
 grant all on slow_query_log.* to 'slow'@'192.168.1.1' identified by 'test';  在搭建lamp的机器上,让线上的数据库的机器能向slow_query_log库插入数据
 grant all on slow_query_log.* to 'slow'@'localhost' identified by 'test';
 grant select on *.* to  'slow_1'@'192.168.1.2';   在线上数据库上    select on *.* 是为了看执行计划
5.配置Query-Digest-UI
# pwd
/var/www/html/slow
#cp config.php.example config.php    更改版就直接有这个文件了
#vim config.php
.......
$reviewhost = array(
// Replace hostname and database in this setting
// use host=hostname;port=portnum if not the default port
    'dsn'           => 'mysql:host=192.168.1.2;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',
);

下面是执行计划配置的了
$explainhosts = array(
    'label1'   => array(
        'dsn'       => 'mysql:host=192.168.1.1;port=3306',
        'user'      => 'slow_1',
        'password'  => 'test',
    // By default we scan the host to see what databases we can run a
    // explain on. To disable this behavour, set an array here
        'databases' => array(
            'database1',
            'database2',
            '........'
        ),
    ),
    'label2'   => array(
        'dsn'       => 'mysql:host=;port=3306',
        'user'      => '',
        'password'  => '',
    // You can also just set the field and keep it empty. We will scan for valid databases
        'databases' => array(),

6.开始收集数据
pt-query-digest工具在线上执行想线下的lamp的数据库推送数据
        pt 版本小于2.2版本的语句:
pt-query-digest --user=slow --password=test --review h=192.168.1.2,D=slow_query_log,t=global_query_review --history h=192.168.1.2,D=slow_query_log,t=global_query_review_history --no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /data/mysql/mysql_3306/logs/slow.log



pt 版本大于2.2版本的语句:
pt-query-digest --user=slow --password=test --review h=192.168.1.2,D=slow_query_log,t=global_query_review --history h=192.168.1.2,D=slow_query_log,t=global_query_review_history --no-report --limit=0% --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" /data/mysql/mysql_3306/logs/slow.log

好了

进入页面了
http://192.168.1.2/slow
就可以看到慢日志了。。。。。








来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26909803/viewspace-2134159/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26909803/viewspace-2134159/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值