Mysqlreport使用詳解
Mysqlreport使用詳解
安裝包:
mysqlreport-3.5.tgz
下載地址:
安裝辦法:
[root@nagios ~]# tar -xvf mysqlreport-3.5.tgz
使用辦法:
[root@nagios ~]# cd mysqlreport-3.5
[root@nagios mysqlreport-3.5]# perl mysqlreport --user=root --password=123456 --socket=/tmp/mysql.sock --outfile=/tmp/mysqlreport.txt
報告分析:
MySQL 5.1.66 uptime 68 1:27:19 Mon Dec 1 16:23:33 2014
# MySQL Server 的版本、自上次啟動後已經過多少時間、目前 Server 的日期與時間。有些人會定時讓系統自動產生報表
__ Key _________________________________________________________________
Buffer used 6.54M of 8.00M %Used: 81.75
Current 1.65M %Usage: 20.59
Write hit 73.95%
Read hit 91.29%
__ Questions ___________________________________________________________
Total 85.49M 14.5/s
DMS 76.68M 13.0/s %Total: 89.70
COM_QUIT 10.83M 1.8/s 12.67
-Unknown 10.35M 1.8/s 12.11
Com_ 8.32M 1.4/s 9.74
Slow 10 s 14 0.0/s 0.00 %DMS: 0.00 Log: OFF
DMS 76.68M 13.0/s 89.70
INSERT 31.45M 5.3/s 36.78 41.01
DELETE 24.45M 4.2/s 28.60 31.88
SELECT 18.73M 3.2/s 21.91 24.43
UPDATE 1.80M 0.3/s 2.10 2.35
REPLACE 254.92k 0.0/s 0.30 0.33
Com_ 8.32M 1.4/s 9.74
change_db 2.99M 0.5/s 3.49
set_option 2.68M 0.5/s 3.14
admin_comma 2.54M 0.4/s 2.97
__ SELECT and Sort _____________________________________________________
Scan 4.51M 0.8/s %SELECT: 24.10
Range 99.55k 0.0/s 0.53
Full join 51.91k 0.0/s 0.28
Range check 0 0/s 0.00
Full rng join 0 0/s 0.00
Sort scan 1.24M 0.2/s
Sort range 38.67k 0.0/s
Sort mrg pass 0 0/s
__ Table Locks _________________________________________________________
Waited 279 0.0/s %Total: 0.00
Immediate 81.48M 13.9/s
__ Tables ______________________________________________________________
Open 64 of 64 %Cache: 100.00
Opened 1.67M 0.3/s
__ Connections _________________________________________________________
Max used 41 of 151 %Max: 27.15
Total 10.83M 1.8/s
__ Created Temp ________________________________________________________
Disk table 47.00k 0.0/s
Table 1.43M 0.2/s Size: 16.0M
File 5 0.0/s
__ Threads _____________________________________________________________
Running 1 of 4
Cached 0 of 0 %Hit: 0
Created 10.83M 1.8/s
Slow 1 0.0/s
__ Aborted _____________________________________________________________
Clients 137 0.0/s
Connects 7.81M 1.3/s
__ Bytes _______________________________________________________________
Sent 8.41G 1.4k/s
Received 23.85G 4.1k/s
__ InnoDB Buffer Pool __________________________________________________
Usage 8.00M of 8.00M %Used: 100.00
Read hit 100.00%
Pages
Free 0 %Total: 0.00
Data 510 99.61 %Drty: 4.90
Misc 2 0.39
Latched 0.00
Reads 3.73G 634.0/s
From file 32.99k 0.0/s 0.00
Ahead Rnd 426 0.0/s
Ahead Sql 2017 0.0/s
Writes 639.57M 108.8/s
Flushes 23.38M 4.0/s
Wait Free 0 0/s
__ InnoDB Lock _________________________________________________________
Waits 13852 0.0/s
Current 0
Time acquiring
Total 229151 ms
Average 16 ms
Max 1406 ms
__ InnoDB Data, Pages, Rows ____________________________________________
Data
Reads 39.44k 0.0/s
Writes 62.72M 10.7/s
fsync 53.59M 9.1/s
Pending
Reads 0
Writes 0
fsync 0
Pages
Created 14.80k 0.0/s
Read 50.07k 0.0/s
Written 23.38M 4.0/s
Rows
Deleted 22.54M 3.8/s
Inserted 22.57M 3.8/s
Read 1.28G 218.3/s
Updated 6.62M 1.1/s
mysqlreport引數詳解:
選項 解釋
-
-user 連線MySQL的使用者名稱
-
-password 連線MySQL的使用者密碼。命令列上出現該選項但沒有給出引數時,mysqlreport將在使用者回車後提示輸入密碼
-
-host MySQL伺服器地址
-
-port MySQL伺服器的開發埠
-
-socket 本地MySQL UNIX域套介面路徑
-
-no-mycnf 該選項指引mysqlreport不要讀取 ~/.my.cnf,預設情況下會去讀取這個檔案。
-
-user 和 - -password 總是覆蓋從 ~/.my.cnf 中取得的引數
- -infile 從status檔案讀取資料,代替從伺服器上讀取
-
-outfile 列印報告後,將報告同時寫入該選項指定的檔案中。mysqlreport 的內部機制總是先將報告寫入臨時檔案中,然後將該臨時檔案裡的內容列印到螢幕上。
如果指定了--outfile選項,則將臨時檔案複製成 指定的檔案。如果指定了選項- -email,則會刪除臨時檔案
-
-email 列印報告後,將結果傳送到指定的郵箱。該選項需要使用/usr/sbin/目錄下的sendmail程式,因此無法在windows
平臺下使用。/usr/sbin/sendmail可以符號連結到 qmail,或者任何其他能模擬sendmail -t方式的MTA程式。郵件來源是:mysqlreport,
主題是:MySQL status report on HOST,HOST是mysqlreport所在的主機名,可能是讀取到的- -host值,預設是localhost
-
-flush-status 列印報告後,執行FLUSH STATUS命令
-
-relative mysqlreport通常產生從MySQL啟動以來的狀態報告。指定- -relative選項可產生相對於前次報告以來的相關報告。
如果選項引數是一個整數,程式每隔指定的秒數後再次產生一份狀態報告,報告次數由--report-count選項指定。預設產生1份相關報告。
例如,指定 -relative的值為60,則會產生2份報告:第一份基本報告馬上生成,第二份相關報告在60秒後生成。第二份報告中的數值和前面的那份相關。
例如,前者總共有10.00k次查詢,在這60秒的間隔時間裡接受了新的1.00k次查詢,則後者的總查詢次數是1.00k而非11.00k次。
如果選項引數是本地檔案列表(就像- -infile選項那樣),程式會按照引數中檔案的順序來依次產生狀態報告。檔案列表中的檔案應該以空格分隔。
以檔案產生時間依次排列檔案就顯得很重要,較早產生的檔案應該放在列表的前面。第一個檔案中必須有系統變數,例如:key_buffer_size、table_cache等。
每個檔案中可以有多組”SHOW STATUS”的結果。注意:透過 “mysqladmin -r -i N extended” 產生的狀態檔案無法使用,因為 mysqladmin的-r引數已經令其產生了具有相對性的狀態值了。
由於mysqlreport首先會把狀態報告寫到臨時檔案中,如果- -relative的引數是整數時,mysqlreport會顯示它把檔案寫到哪了。那麼就可以直接透過檢視這些檔案內容來觀察伺服器的狀況
-
-report-count 生成N份相關的報告。本選項只有在同時啟用- -relative選項後才有效。mysqlreport會自動產生N+1份報告:第一份基本報告,以及後面的N份相關報告
-
-detach 本選項使得mysqlreport派生新程式,從終端上脫離轉入後臺繼續執行。派生新程式後,mysqlreport
會報告它把結果寫入了哪個臨時檔案。本選項需要- -outfile或- -email中的一個,如果這兩個選項都沒有給出,則產生的臨時檔案就會被刪除,因為自派生出新程式後,
無法再將結果列印到終端螢幕上了。本選項如果和- -relative選項一起使用的話就更有意義了,這樣mysqlreport就能定時報告資訊,而無需人工干預獲得報告。
例如使用如下命令,就能讓mysqlrepot隔一個小時再次產生一次報告,並將結果傳送到指定的信箱:perl mysqlreport - -relative=3600 - -detach
- -email=host@domain.com。一個小時候後,mysqlreport透過email傳送報告,刪除臨時檔案,並且乾淨地終止
-
-help 列印幫助資訊
-
-debug 列印除錯資訊
安裝包:
mysqlreport-3.5.tgz
下載地址:
安裝辦法:
[root@nagios ~]# tar -xvf mysqlreport-3.5.tgz
使用辦法:
[root@nagios ~]# cd mysqlreport-3.5
[root@nagios mysqlreport-3.5]# perl mysqlreport --user=root --password=123456 --socket=/tmp/mysql.sock --outfile=/tmp/mysqlreport.txt
報告分析:
MySQL 5.1.66 uptime 68 1:27:19 Mon Dec 1 16:23:33 2014
# MySQL Server 的版本、自上次啟動後已經過多少時間、目前 Server 的日期與時間。有些人會定時讓系統自動產生報表
__ Key _________________________________________________________________
Buffer used 6.54M of 8.00M %Used: 81.75
Current 1.65M %Usage: 20.59
Write hit 73.95%
Read hit 91.29%
__ Questions ___________________________________________________________
Total 85.49M 14.5/s
DMS 76.68M 13.0/s %Total: 89.70
COM_QUIT 10.83M 1.8/s 12.67
-Unknown 10.35M 1.8/s 12.11
Com_ 8.32M 1.4/s 9.74
Slow 10 s 14 0.0/s 0.00 %DMS: 0.00 Log: OFF
DMS 76.68M 13.0/s 89.70
INSERT 31.45M 5.3/s 36.78 41.01
DELETE 24.45M 4.2/s 28.60 31.88
SELECT 18.73M 3.2/s 21.91 24.43
UPDATE 1.80M 0.3/s 2.10 2.35
REPLACE 254.92k 0.0/s 0.30 0.33
Com_ 8.32M 1.4/s 9.74
change_db 2.99M 0.5/s 3.49
set_option 2.68M 0.5/s 3.14
admin_comma 2.54M 0.4/s 2.97
__ SELECT and Sort _____________________________________________________
Scan 4.51M 0.8/s %SELECT: 24.10
Range 99.55k 0.0/s 0.53
Full join 51.91k 0.0/s 0.28
Range check 0 0/s 0.00
Full rng join 0 0/s 0.00
Sort scan 1.24M 0.2/s
Sort range 38.67k 0.0/s
Sort mrg pass 0 0/s
__ Table Locks _________________________________________________________
Waited 279 0.0/s %Total: 0.00
Immediate 81.48M 13.9/s
__ Tables ______________________________________________________________
Open 64 of 64 %Cache: 100.00
Opened 1.67M 0.3/s
__ Connections _________________________________________________________
Max used 41 of 151 %Max: 27.15
Total 10.83M 1.8/s
__ Created Temp ________________________________________________________
Disk table 47.00k 0.0/s
Table 1.43M 0.2/s Size: 16.0M
File 5 0.0/s
__ Threads _____________________________________________________________
Running 1 of 4
Cached 0 of 0 %Hit: 0
Created 10.83M 1.8/s
Slow 1 0.0/s
__ Aborted _____________________________________________________________
Clients 137 0.0/s
Connects 7.81M 1.3/s
__ Bytes _______________________________________________________________
Sent 8.41G 1.4k/s
Received 23.85G 4.1k/s
__ InnoDB Buffer Pool __________________________________________________
Usage 8.00M of 8.00M %Used: 100.00
Read hit 100.00%
Pages
Free 0 %Total: 0.00
Data 510 99.61 %Drty: 4.90
Misc 2 0.39
Latched 0.00
Reads 3.73G 634.0/s
From file 32.99k 0.0/s 0.00
Ahead Rnd 426 0.0/s
Ahead Sql 2017 0.0/s
Writes 639.57M 108.8/s
Flushes 23.38M 4.0/s
Wait Free 0 0/s
__ InnoDB Lock _________________________________________________________
Waits 13852 0.0/s
Current 0
Time acquiring
Total 229151 ms
Average 16 ms
Max 1406 ms
__ InnoDB Data, Pages, Rows ____________________________________________
Data
Reads 39.44k 0.0/s
Writes 62.72M 10.7/s
fsync 53.59M 9.1/s
Pending
Reads 0
Writes 0
fsync 0
Pages
Created 14.80k 0.0/s
Read 50.07k 0.0/s
Written 23.38M 4.0/s
Rows
Deleted 22.54M 3.8/s
Inserted 22.57M 3.8/s
Read 1.28G 218.3/s
Updated 6.62M 1.1/s
mysqlreport引數詳解:
選項 解釋
-
-user 連線MySQL的使用者名稱
-
-password 連線MySQL的使用者密碼。命令列上出現該選項但沒有給出引數時,mysqlreport將在使用者回車後提示輸入密碼
-
-host MySQL伺服器地址
-
-port MySQL伺服器的開發埠
-
-socket 本地MySQL UNIX域套介面路徑
-
-no-mycnf 該選項指引mysqlreport不要讀取 ~/.my.cnf,預設情況下會去讀取這個檔案。
-
-user 和 - -password 總是覆蓋從 ~/.my.cnf 中取得的引數
- -infile 從status檔案讀取資料,代替從伺服器上讀取
-
-outfile 列印報告後,將報告同時寫入該選項指定的檔案中。mysqlreport 的內部機制總是先將報告寫入臨時檔案中,然後將該臨時檔案裡的內容列印到螢幕上。
如果指定了--outfile選項,則將臨時檔案複製成 指定的檔案。如果指定了選項- -email,則會刪除臨時檔案
-
-email 列印報告後,將結果傳送到指定的郵箱。該選項需要使用/usr/sbin/目錄下的sendmail程式,因此無法在windows
平臺下使用。/usr/sbin/sendmail可以符號連結到 qmail,或者任何其他能模擬sendmail -t方式的MTA程式。郵件來源是:mysqlreport,
主題是:MySQL status report on HOST,HOST是mysqlreport所在的主機名,可能是讀取到的- -host值,預設是localhost
-
-flush-status 列印報告後,執行FLUSH STATUS命令
-
-relative mysqlreport通常產生從MySQL啟動以來的狀態報告。指定- -relative選項可產生相對於前次報告以來的相關報告。
如果選項引數是一個整數,程式每隔指定的秒數後再次產生一份狀態報告,報告次數由--report-count選項指定。預設產生1份相關報告。
例如,指定 -relative的值為60,則會產生2份報告:第一份基本報告馬上生成,第二份相關報告在60秒後生成。第二份報告中的數值和前面的那份相關。
例如,前者總共有10.00k次查詢,在這60秒的間隔時間裡接受了新的1.00k次查詢,則後者的總查詢次數是1.00k而非11.00k次。
如果選項引數是本地檔案列表(就像- -infile選項那樣),程式會按照引數中檔案的順序來依次產生狀態報告。檔案列表中的檔案應該以空格分隔。
以檔案產生時間依次排列檔案就顯得很重要,較早產生的檔案應該放在列表的前面。第一個檔案中必須有系統變數,例如:key_buffer_size、table_cache等。
每個檔案中可以有多組”SHOW STATUS”的結果。注意:透過 “mysqladmin -r -i N extended” 產生的狀態檔案無法使用,因為 mysqladmin的-r引數已經令其產生了具有相對性的狀態值了。
由於mysqlreport首先會把狀態報告寫到臨時檔案中,如果- -relative的引數是整數時,mysqlreport會顯示它把檔案寫到哪了。那麼就可以直接透過檢視這些檔案內容來觀察伺服器的狀況
-
-report-count 生成N份相關的報告。本選項只有在同時啟用- -relative選項後才有效。mysqlreport會自動產生N+1份報告:第一份基本報告,以及後面的N份相關報告
-
-detach 本選項使得mysqlreport派生新程式,從終端上脫離轉入後臺繼續執行。派生新程式後,mysqlreport
會報告它把結果寫入了哪個臨時檔案。本選項需要- -outfile或- -email中的一個,如果這兩個選項都沒有給出,則產生的臨時檔案就會被刪除,因為自派生出新程式後,
無法再將結果列印到終端螢幕上了。本選項如果和- -relative選項一起使用的話就更有意義了,這樣mysqlreport就能定時報告資訊,而無需人工干預獲得報告。
例如使用如下命令,就能讓mysqlrepot隔一個小時再次產生一次報告,並將結果傳送到指定的信箱:perl mysqlreport - -relative=3600 - -detach
- -email=host@domain.com。一個小時候後,mysqlreport透過email傳送報告,刪除臨時檔案,並且乾淨地終止
-
-help 列印幫助資訊
-
-debug 列印除錯資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1353030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQLReport 報告說明MySql
- MySQL 效能監控工具--mysqlreportMySql
- Jpa使用詳解
- mitmproxy使用詳解MIT
- Thymeleaf使用詳解
- mydumper使用詳解
- babel使用詳解Babel
- git使用詳解Git
- Mat使用詳解
- Proxy使用詳解
- nvm 使用詳解
- CSSModules使用詳解CSSSSM
- ctags使用詳解
- AutoLayout 使用詳解
- umask使用詳解
- OkHttp使用詳解HTTP
- Okhttp 使用詳解HTTP
- Inception使用詳解
- UITableView使用詳解UIView
- ViewFlipper使用詳解View
- NULL 使用詳解Null
- ASIHttpRequest使用詳解HTTP
- at命令使用詳解
- LOMBOK使用詳解Lombok
- Supervisor使用詳解
- React Hooks 使用詳解ReactHook
- CMAKE的使用詳解
- Go Modules 詳解使用Go
- MFC——SkinMagic使用詳解
- Logstash使用詳解
- sed指令使用詳解
- Mybatis的使用詳解MyBatis
- Postman 使用教程詳解Postman
- sar命令使用詳解
- JWT 完整使用詳解JWT
- Apache POI使用詳解Apache
- RxJava 2.0 使用詳解RxJava
- git rebase 使用詳解Git