这期内容当中小编将会给大家带来有关基于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
就可以看到慢日志了。。。。。
上述就是小编为大家分享的基于Query-Digest-UI对mysql慢日志web可视化是怎么样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。