您好,登錄后才能下訂單哦!
小編給大家分享一下pt-stalk如何監控MySQL運行,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1. 使用pt-stalk
pt-stalk --collect-tcpdump --function status \
--variable Threads_connected --threshold 2500 \
--daemonize -- --user=root --password=YOURPASSWORD
上面的命令表示,讓pt-stalk后臺運行(--daemonize),并監視SHOW GLOBAL STATUS中的Threads_connected狀態值,如果該值超過2500,則觸發收集主機和MySQL的性能、狀態信息。pt-stalk會每隔一秒檢查一次狀態值,如果連續5次滿足觸發條件,則開始收集。
--collect-tcpdump表示除了收集基本信息外,還將額外使用tcpdump收集當時的網絡包,類似的還可以使用--collect-gdb等。
2. pt-stalk如何連接MySQL
在上面的命令中參數,"-- --user=root --password=YOURPASSWORD"表示,將使用"--"后面的所有參數用于mysql和mysqladmin命令,所以這里確保你給出正確的用戶名和密碼。下面是man pt-stalk中給出的語法:
SYNOPSIS
Usage: pt-stalk [OPTIONS] [-- MYSQL OPTIONS]
看到前面的[OPTIONS]是pt-stalk使用的參數,[-- MYSQL OPTIONS]是mysql和mysqladmin使用的參數。
3. pt-stalk的工作狀態
pt-stalk是一個后臺程序,默認我們可以通過文件/var/log/pt-stalk.log,查看pt-stalk的運行狀態:
tail -f /var/log/pt-stalk.log
2012_06_05_00_00_35 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_36 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_37 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_38 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_39 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_40 Check results: Threads_connected=1641, matched=no
2012_06_05_00_00_41 Check results: Threads_connected=1641, matched=no
你還可以通過參數--log指定一個你希望的log目錄和文件。
4. pt-stalk收集的性能和狀態數據
默認pt-stalk將收集的數據放在目錄/var/lib/pt-stalk下,你可以使用參數--dest指定你希望的目錄。下面是一個pt-stalk觸發收集后的數據文件:
這些數據都是原始數據,我們可以根據這些來分析當時MySQL或者主機是否有異常。
5. pt-stalk的觸發條件
在上面的示例中觸發參數是:"--function status --variable Threads_connected --threshold 2500",表示MySQL狀態值Threads_connected超過2500時觸發數據收集。常用的觸發條件還可以使用Threads_running等。
另外還可以使用SHOW PROCESSLIST的中的結果觸發,例如"--function processlist --variable State --match statistics --threshold 10"表示,show processlist中State列的值為statistics的線程數超過10則觸發收集。
6. 一些其他有用的參數
--iterations:該參數指定pt-stalk在收集幾次故障現場后就退出。默認pt-stalk會一直運行
--run-time:觸發收集后,該參數指定收集多長時間的數據。默認是30秒
--sleep:為防止一直觸發收集數據,該參數指定在某次觸發后,必須sleep一段時候才繼續觀察并觸發收集。默認是300秒
--interval:默認情況pt-stalk會每隔一秒檢查一次狀態數據,判斷是否需要觸發收集。該參數指定間隔時間,默認是1秒。
--cycles:默認情況pt-stalk只有連續觀察到五次狀態值滿足觸發條件時,才觸發收集。該參數控制,需要連續幾次滿足條件,收集被觸發,默認是5次。
看完了這篇文章,相信你對“pt-stalk如何監控MySQL運行”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。