1. 程式人生 > >Mysql 日誌分析工具介紹

Mysql 日誌分析工具介紹

轉自 http://blog.csdn.net/seteor/article/details/24017913

1. 工具簡介

pt-query-digest是用於分析mysql慢查詢的一個工具,它可以分析binlogGeneral logslowlog,也可以通過SHOWPROCESSLIST或者通過tcpdump抓取的MySQL協議資料來進行分析。可以把分析結果輸出到檔案中,分析過程是先對查詢語句的條件進行引數化,然後對引數化以後的查詢進行分組統計,統計出各查詢的執行時間、次數、佔比等,可以藉助分析結果找出問題進行優化。
pt-query-digest是一個perl指令碼,只需下載並賦權即可執行。
[[email protected] ]# wget percona.com/get/pt-query-digest [[email protected] ]# chmod u+x pt-query-digest
2.語法及重要選項

pt-query-digest [OPTIONS] [FILES] [DSN]

--create-review-table  當使用--review引數把分析結果輸出到表中時,如果沒有表就自動建立。
--create-history-table  
當使用--history引數把分析結果輸出到表中時,如果沒有表就自動建立。--filter  

對輸入的慢查詢按指定的字串進行匹配過濾後再進行分析--limit限制輸出結果百分比或數量,預設值是20,即將最慢的20條語句輸出,如果是50%則按總響應時間佔比從大到小排序,輸出到總和達到50%位置截止。--host  mysql伺服器地址--user  mysql使用者名稱--password  mysql使用者密碼--history將分析結果儲存到表中,分析結果比較詳細,下次再使用--history時,如果存在相同的語句,且查詢所在的時間區間和歷史表中的不同,則會記錄到資料表中,可以通過查詢同一CHECKSUM來比較某型別查詢的歷史變化。--review將分析結果儲存到表中,這個分析只是對查詢條件進行引數化,一個型別的查詢一條記錄,比較簡單。當下次使用
--review時,如果存在相同的語句分析,就不會記錄到資料表中。--output分析結果輸出型別,值可以是report(標準分析報告)slowlog(Mysql slow log)jsonjson-anon,一般使用report,以便於閱讀。--since從什麼時間開始分析,值為字串,可以是指定的某個”yyyy-mm-dd [hh:mm:ss]”格式的時間點,也可以是簡單的一個時間值:s()h(小時)m(分鐘)d(),如12h就表示從12小時前開始統計。--until截止時間,配合—since可以分析一段時間內的慢查詢。

3.      標準分析報告解釋第一部分:總體統計結果,如下圖
Overall: 總共有多少條查詢,上例為總共266個查詢。
Time range: 查詢執行的時間範圍。
unique: 唯一查詢數量,即對查詢條件進行引數化以後,總共有多少個不同的查詢,該例為55
total: 總計   min:最小   max: 最大  avg:平均
95%: 把所有值從小到大排列,位置位於95%的那個數,這個數一般最具有參考價值。
median: 中位數,把所有值從小到大排列,位置位於中間那個數。第二部分:查詢分組統計結果,如下圖
由上圖可見,這部分對查詢進行引數化並分組,然後對各類查詢的執行情況進行分析,結果按總執行時長,從大到小排序。
Response: 總的響應時間。
time: 該查詢在本次分析中總的時間佔比。
calls: 執行次數,即本次分析總共有多少條這種型別的查詢語句。
R/Call: 平均每次執行的響應時間。
Item : 查詢物件第三部分:每一種查詢的詳細統計結果,如下圖:
上圖可見,12號查詢的詳細統計結果,最上面的表格列出了執行次數、最大、最小、平均、95%等各專案的統計。
Databases: 庫名
Users: 各個使用者執行的次數(佔比)
Query_time distribution : 查詢時間分佈, 長短體現區間佔比,本例中1s-10s之間查詢數量是10s以上的兩倍。
Tables: 查詢中涉及到的表
Explain: 示例
4.用法示例
(1)直接分析慢查詢檔案:
pt-query-digest  slow.log > slow_report.log

(2)分析最近12小時內的查詢:

pt-query-digest  --since=12h  slow.log > slow_report2.log

(3)分析指定時間範圍內的查詢:

pt-query-digest slow.log --since '2014-04-17 09:30:00' --until '2014-04-17 10:00:00'> > slow_report3.log

(4)分析指含有select語句的慢查詢pt-query-digest--filter '$event->{fingerprint} =~ m/^select/i' slow.log> slow_report4.log
(5) 針對某個使用者的慢查詢pt-query-digest--filter '($event->{user} || "") =~ m/^root/i' slow.log> slow_report5.log
(6) 查詢所有所有的全表掃描或full join的慢查詢pt-query-digest--filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slow.log> slow_report6.log

(7)
把查詢儲存到query_review
pt-query-digest  --user=root –password=abc123 --review  h=localhost,D=test,t=query_review--create-review-table  slow.log

(8)把查詢儲存到query_historypt-query-digest  --user=root –password=abc123 --review  h=localhost,D=test,t=query_ history--create-review-table  slow.log_20140401pt-query-digest  --user=root –password=abc123--review  h=localhost,D=test,t=query_history--create-review-table  slow.log_20140402

(9)
通過tcpdump抓取mysqltcp協議資料,然後再分析
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt
pt-query-digest --type tcpdump mysql.tcp.txt> slow_report9.log

(10)
分析binlog
mysqlbinlog mysql-bin.000093 > mysql-bin000093.sql
pt-query-digest  --type=binlog  mysql-bin000093.sql > slow_report10.log

(11)
分析general log
pt-query-digest  --type=genlog  localhost.log > slow_report11.log

官方文件:http://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html

相關推薦

Mysql 日誌分析工具介紹

轉自 http://blog.csdn.net/seteor/article/details/24017913 1. 工具簡介 pt-query-digest是用於分析mysql慢查詢的一個工具,它可以分析binlog、General log、slowlog,也可以通

ELK6.2.3日誌分析工具elasticsearch x-pack6.2.3許可權管理Security模組和內建角色介紹

啟動elasticsearch 1.自定義設定密碼,三個內建賬號根據提示設定密碼 ./bin/x-pack/setup-passwords interactive 2.自動生成密碼 ./bin/x-pack/setup-passwords auto 3.在kibana通過DSL語句設定密碼

Mysql慢查詢日誌分析工具Mysqlsla安裝

yum install perl-DBI perl-DBD-MySQL perl-devel -y yum -y  install perl-Time-HiRes cd /data/software wget  ftp://ftp.tw.freebsd.org/pub/

mysql日誌解析工具canal介紹

文章轉自https://github.com/alibaba/canal/wiki/Introduction 背景 早期,阿里巴巴B2B公司因為存在杭州和美國雙機房部署,存在跨機房同步的業務需求。不過早期的資料庫同步業務,主要是基於trigger的方式獲取增量變更,不

Python開源專案介紹:網站日誌分析工具

CodingGo技術社群自由的程式設計學習平臺 日誌分析 日誌分析在web系統中故障排查、效能分析方面有著非常重要的作用。該工具的側重點不是通常的PV,UV等展示,而是在指定時間段內提供細粒度(最小分鐘級別,即一分鐘內的日誌做抽象和彙總)的異常定位和效能分析。 環境安裝

Mysql慢查詢日誌分析工具

Anemometer工具將慢查詢日誌中語句儲存到資料庫中,並生成報告。 安裝PHP相關服務及perl語言相關模組(http://blog.csdn.net/u010587433/article/details/50339377),並開啟http服務。 同時需要安裝Perco

MySQL日誌分析工具mysqlsla

[[email protected] bin]# ./mysqlsla -lt slow /tmp/slow_query.log215 -sf "+select" -top 2 -sort c_sum Report for slow logs: /tmp/slow_query.log215 13

mysqldumpslow mysql慢查詢日誌分析工具

mysqldumpslow mysql官方提供的慢查詢日誌 分析工具 -s,是order的順序,說明寫的不夠詳細,俺用下來,包括看了程式碼,主要有 c,t,l,r和ac,at,al,ar,分別是按照query次數,時間,lock的時間和返回的記錄數來排序,前面加了a的時倒敘

Logwatch日誌分析工具

logwatch日誌監控介紹:Logwatch是使用 Perl 開發的一個日誌分析工具。Logwatch能夠對Linux 的日誌文件進行分析,並自動發送mail給相關處理人員,可定制需求。Logwatch的mail功能是借助宿主系統自帶的mail server 發郵件的,所以系統需安裝mail server

ELK日誌分析系統 介紹 安裝配置

elkELK日誌分析系統一、ELK介紹 ELK顧名思義:是由Elasticsearch,Logstash 和 Kibana三部分組成的。 其中Elasticsearch 是一個實時的分布式搜索和分析引擎,它可以用於全文搜索,結構化搜索以及分析。它是一個建立在全文搜索引擎 Apache Lucene

pt-query-digest查詢日誌分析工具

tcp 技術 一段時間 ext 所在 mda pop json sdn 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 工具簡介 pt-query-digest是用於分析mysql慢查詢的一個工具,它可以分析binlog、General log、slo

JVM自帶性能分析工具介紹——jmap和jhat

inf info weibo 介紹 oci mar style lan user 0L蛻投M口l形繃9http://huiyi.docin.com/sina_5847440681 RH姥胤1操士剮訊39鎂http://www.docin.com/sina_62699771

JVM自帶性能分析工具介紹——jstat

mfp ldd 性能分析工具 blank pxn qtp targe 自帶 mcs 炭撐pcdw1律v煌映40嘔http://tushu.docin.com/sina_6345212704 倩角72g傲28蛻iy墾84http://tushu.docin.com/sina_

慢查詢日誌分析工具之pt-query-digest

lan git bash pre 日誌分析 windows images git 所有 curl 簡介 pt-query-digest 是用於分析mysql慢查詢的一個工具,與mysqldumpshow工具相比,py-query_digest 工具的分析結果更

mysql日誌分析

技術分享 查詢日誌 ror glob 命令 查看 slow ria alt mysql的日誌分為錯誤日誌、二進制日誌、慢查詢日誌、查詢日誌 1.錯誤日誌 可以通過以下命令,來查看錯誤日誌的文件: show variables like ‘log_error‘; 通過上

Apache日誌分析工具awstats配置

日誌分析工具awstats安裝 日誌分析工具awstats配置 Apache日誌分析工具awstats Apache編譯安裝步驟 Apache日誌分析工具awstats配置 awstats軟件下載地址:http://www.awstats.org/#DOWNLOADhttps://awstat

loganalyzer日誌分析工具(CentOS7.4)

loganalyzer日誌分析工具 日誌服務器部署 loganalyzer日誌分析工具(CentOS7.4)Loganalyzer是一款syslog日誌和其他網絡事件數據的Web前端。它提供了對日誌的簡單瀏覽、搜索、基本分析和一些圖表報告的功能。數據可以從數據庫或一般的syslog文本文件中獲取,所以

MySQL問題排查工具介紹

system 線程 工具 bsp 可能 file null none 計劃 原文鏈接: http://mrchenatu.com/2017/03/24/mysql-tool/本總結來自美團內部分

日誌分析工具日誌管理系統、syslog分析

用戶 程序 方案 安全 inux aix 高效 應用 監控 日誌分析工具、日誌管理系統、syslog分析 系統日誌(Syslog)管理是幾乎所有企業的重要需求。系統管理員將syslog看作是解決網絡上系統日誌支持的系統和設備性能問題的關鍵資源。人們往往低估了對完整的sys-

一款全面高效的日誌分析工具,操作更簡單

analyze sys 海量 生成 box 發展 code 工具 it管理 一款全面高效的日誌分析工具,操作更簡單 Eventlog Analyzer是用來分析和審計系統及事件日誌的管理軟件,能夠對全網範圍內的主機、服務器、網絡設備、數據庫以及各種應用服務系統等產生的日誌,