這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)基于Query-Digest-UI對(duì)MySQL慢日志web可視化是怎么樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
目前累計(jì)服務(wù)客戶上1000+,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
Query-Digest-UI是一款基于percona-toolkit管理工具中pt-query-digest的對(duì)MySQL慢查詢?nèi)罩具M(jìn)行監(jiān)控并結(jié)合lamp以圖形化展示的工具。
結(jié)構(gòu)圖如下:
一、準(zhǔn)備工作:
1. Apache, mod_php, php_pdo
2. 安裝:perl-DBD-MySQL-3.0007-2.el5
但是安裝此模塊時(shí),可能會(huì)報(bào)錯(cuò):
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下,對(duì)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是依賴對(duì)pt-query-digest工具對(duì)慢日志的分析,所以要安裝percona_toolkit
下載percona-toolkit_2.2.17-1.tar.gz
安裝:
#perl Makefile.PL
#make
#make install
2.安裝LAMP
3.下載安裝Query-Digest-UI
官網(wǎng)下載地址:https://github.com/kormoc/Query-Digest-UI
更改版下載:https://pan.baidu.com/share/link?shareid=3651139099&uk=2550236109 (網(wǎng)上提供的,我用的是這版)
query-digest-ui_last-edition.zip
解壓更名放到/var/www/html/slow
4.創(chuàng)建庫(kù)和表
1.install.sql
Query-Digest-UI沒有這個(gè)腳本,要到Anemomete里找這個(gè)sql,下載地址:https://github.com/box/Anemometer Anemometer和 Query-Digest-UI是一樣的都是為mysql慢日志提供可視化的。
2.創(chuàng)建用戶 (數(shù)據(jù)庫(kù):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的機(jī)器上,讓線上的數(shù)據(jù)庫(kù)的機(jī)器能向slow_query_log庫(kù)插入數(shù)據(jù)
grant all on slow_query_log.* to 'slow'@'localhost' identified by 'test';
grant select on *.* to 'slow_1'@'192.168.1.2'; 在線上數(shù)據(jù)庫(kù)上 select on *.* 是為了看執(zhí)行計(jì)劃
5.配置Query-Digest-UI
# pwd
/var/www/html/slow
#cp config.php.example config.php 更改版就直接有這個(gè)文件了
#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',
);
下面是執(zhí)行計(jì)劃配置的了
$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.開始收集數(shù)據(jù)
用pt-query-digest工具在線上執(zhí)行想線下的lamp的數(shù)據(jù)庫(kù)推送數(shù)據(jù)
pt版本小于2.2版本的語(yǔ)句:
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版本的語(yǔ)句:
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
好了
進(jìn)入頁(yè)面了
http://192.168.1.2/slow
就可以看到慢日志了。。。。。
上述就是小編為大家分享的基于Query-Digest-UI對(duì)mysql慢日志web可視化是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。