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.pswp.cn/news/278928.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/278928.shtml
英文地址,請注明出處:http://en.pswp.cn/news/278928.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

電熱水器工作過程 c語言,熱水器工作流程圖

燃氣熱水器做為熱水供應設備&#xff0c;被很多家庭所采用&#xff0c;然而&#xff0c;恒溫作為燃氣熱水器的一個痛點&#xff0c;一次次被擊中&#xff0c;那么到底為什么燃氣熱水器實現恒溫這么難呢&#xff1f;我們將從原理講起&#xff0c;帶您認識真正的燃氣熱水器。燃氣…

es6 模塊化

test.js var vm"321321"; export { vm }; ------------------------------------------------------ export var name"李四"; a.vue import {vm} from /test console.log(vm); ------------------------------------------------------ console.log(name);…

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…

初學者萬年歷c語言源代碼,C語言萬年歷的源程序

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓for(j1;j<mon[i];j){cprintf("%3d ",j);/*if((firstj-1)%70)putchar(\n);*/}/*first(firstmon[i])%7;if(first0)first7;*/}}void month5_8(){for(i0;i<2;i){window(2i*w,3,29w*i,11);textbackground(5);clrscr();t…

用imageMagick的composite合并圖片

composite命令可以非常方便的合并兩張圖片 因此用來進行圖像加水印、批量增加邊框等常用的變換 最簡單的用法為&#xff1a; composite -gravity north src.jpg coverback.jpg des.jpg 其中src.jpg為前景圖片 coverback.jpg為背景圖片。 des.jpg為疊加后的結果 -gravity north …

白帽子講web安全——認證與會話管理

在看白帽子講web安全&#xff0c;剛好看到認證與會話管理&#xff1a;也就是我們在平常滲透測試中遇到最多的登錄頁面&#xff0c;也即是用戶名和密碼認證方式&#xff0c;這是最常見的認證方式。 了解兩個概念&#xff1a;認證和授權 1&#xff09;&#xff1a;認證的目的是為…

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…

關聯分析算法c語言實現,機器學習關聯分析

AI開發平臺ModelArtsModelArts是面向開發者的一站式AI開發平臺&#xff0c;為機器學習與深度學習提供海量數據預處理及半自動化標注、大規模分布式Training、自動化模型生成&#xff0c;及端-邊-云模型按需部署能力&#xff0c;幫助用戶快速創建和部署模型&#xff0c;管理全周…

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;這時候甲等乙吃完并釋放…

前端開發 常用用的靜態服務器

1 運用anywhere 安裝 &#xff1a;npm install anywhere -g想要以某個路徑作為靜態文件服務器的根目錄分享&#xff0c;只需要在該目錄下執行&#xff1a;anywhere 就會默認8000打開網頁&#xff0c; 若文件不是index.html 需要輸入文件名 A: anywhere -p 8000 ## 指定靜態服務…

前端面試題整理

1.HTML5的新特性。 主要講講新增哪些API:地理定位&#xff0c;拖放&#xff0c;web存儲應用緩存&#xff0c;webworkers&#xff0c; sse 。 http://www.w3school.com.cn/html5/html_5_intro.asp 2.CSS3的新特性。 https://segmentfault.com/a/1190000010780991 3、使用嚴格模式…

android mvvm 官方例子,詳解Android的MVVM框架 - 數據綁定

&#xfeff;本教程是跟著 Data Binding Guide學習過程中得出的一些實踐經驗&#xff0c;同時修改了官方教程的一些錯誤&#xff0c;每一個知識點都有對應的源碼&#xff0c;爭取做到實踐與理論相結合。Data Binding 解決了 Android UI 編程中的一個痛點&#xff0c;官方原生支…

VS2015 代碼左縮進

TabShift轉載于:https://www.cnblogs.com/527289276qq/p/8027882.html

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…

Oracle數據庫查詢用 where in 查詢的項超過1000條的解決方案

眾所周知&#xff0c;如果我們的用SQL查詢語句時&#xff0c;如果用where in帶的參數超過1000條的話&#xff0c;oracle是會報錯的。 因為項目中遇到這樣的問題&#xff0c;所以找到了接下來我要說的這個辦法。 因為用的地方很多&#xff0c;所以我把這個封裝成了一個方法。 //…

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;是按照…