pt-stalk
?
pt-stalk
1.? 概述
在MySQL服務器出現(xiàn)短暫(5~30秒)的性能波動的時候,一般的性能監(jiān)控工具都很難抓住故障現(xiàn)場,也就很難收集對應較細粒度的診斷信息。另外,如果這種波動出現(xiàn)的頻率很低,例如幾天才一次,我們也很難人為的抓住現(xiàn)場,收集數(shù)據(jù)。這正是pt-stalk所解決的問題。
2.? 收集的性能和狀態(tài)數(shù)據(jù)
讓pt-stalk后臺運行(--daemonize),并監(jiān)視SHOW GLOBAL STATUS中的Threads_connected狀態(tài)值,如果該值超過10,則觸發(fā)收集主機和MySQL的性能、狀態(tài)信息。pt-stalk會每隔一秒檢查一次狀態(tài)值,如果連續(xù)5次滿足觸發(fā)條件,則開始收集。
pt-stalk --collect-tcpdump --function status \
--variable Threads_connected --threshold 2500 \
--dest /data/dbdata/pt-stalk --iterations 10 \
--daemonize -- --user=root -ptest
使用pt-sift進行監(jiān)控文件分析(man pt-sift查看使用方法):
?pt-sift /data/dbdata/pt-stalk/2016_08_22_15_50_19-tcpdump
3.? 參數(shù)
※ –function:設置觸發(fā)條件,包括status、processlist、自定義腳本,詳細見觸發(fā)條件部分
※ –dest:設置collect信息的存儲目錄,默認/var/lib/pt-stalk/。
說明:設置–dest /u01/mysql選項到mysql目錄之后,pt-stalk在清理超過期限的日志時,會暴力的將該目錄下所有修改時間超過一定日期的文件全部刪掉,因此在設置dest目錄時必須慎重(如果設置最好是一個獨立的目錄,而不是跟mysql或者其他設置在同一個目錄)。–dest默認值是查看pt-stalk的源碼(默認pt-stalk將收集的數(shù)據(jù)放在目錄/var/lib/pt-stalk下):
※??? –iterations:該參數(shù)指定pt-stalk在收集幾次故障現(xiàn)場后就退出。默認pt-stalk會一直運行。
※ –run-time:觸發(fā)收集后,該參數(shù)指定收集多長時間的數(shù)據(jù)。默認是30秒,比如show processlist會連續(xù)收集30次。
※ –sleep:為防止一直觸發(fā)收集數(shù)據(jù),該參數(shù)指定在某次觸發(fā)后,必須sleep一段時候才繼續(xù)觀察并觸發(fā)收集。默認是300秒
※ –interval:默認情況pt-stalk會每隔一秒檢查一次狀態(tài)數(shù)據(jù),判斷是否需要觸發(fā)收集。該參數(shù)指定間隔時間,默認是1秒。
※ –cycles:默認情況pt-stalk只有連續(xù)觀察到五次狀態(tài)值滿足觸發(fā)條件時,才觸發(fā)收集。該參數(shù)控制,需要連續(xù)幾次滿足條件,收集被觸發(fā),默認是5次。
※ –verbose:設置log的輸出級別,默認是2;第一次運行可以設置為3,方便觀察情況0(Errors)、1(Warnings)、2(Matching triggers and collection info)、3(Non-matching triggers)
※ –plugin:和–function參數(shù)類似,可以指定一個包含before_collect、after_collect等函數(shù)的shell腳本。
※ --log指定一個你希望的log目錄和文件,默認我們可以通過文件/var/log/pt-stalk.log,查看pt-stalk的運行狀態(tài)
4.? 觸發(fā)條件
三種觸發(fā)條件,通過參數(shù)function設置:
※ status
–function status –variable Threads_connected –threshold 2500,表示MySQL狀態(tài)值Threads_connected超過2500時觸發(fā)數(shù)據(jù)收集。常用的觸發(fā)條件還可以使用Threads_running等。
※ processlist?
–function processlist –variable State –match statistics –threshold 10,表示,show processlist中State列的值為statistics的線程數(shù)超過10則觸發(fā)收集。
※??? 自定義腳本?
5.? 參考文檔?
http://www.tuicool.com/articles/JjUNji
http://www.orczhou.com/index.php/2012/06/mysql-troubleshooting-with-pt-stakl/
http://wenku.baidu.com/link?url=a3fZVGFqoeS4WIT7kCMtkuVteqVYn0K2wFVaU80B2DERFyKHvFGJkZ9SVeDldpiy3Z-D1Y3cMeFdBEEuDdCCYz0cMS2R-4kA5Jc6UJWoV07
轉載于:https://www.cnblogs.com/hfclytze/p/pt-stalk.html
總結
- 上一篇: bzoj1532: [POI2005]K
- 下一篇: 软考考前冲刺第一章计算机硬件基础知识