pt-stalk е проектиран точно за тази цел. Той взема проби от списъка с процеси на всяка секунда (или в какъвто и да е час, който посочите), след това, когато се достигне праг (Threads_running е по подразбиране и е това, което искате в този случай), събира цял куп данни, включително дискова активност, tcpdumps, множество примери от списъка с процеси, променливи за състоянието на сървъра, състояние на mutex/innodb и още куп.
Ето как да го започнете:
pt-stalk --daemonize --dest /var/lib/pt-stalk --collect-tcpdump --threshold 50 --cycles 1 --disk-pct-free 20 --retention-time 3 -- --defaults-file=/etc/percona-toolkit/pt-stalk_my.cnf
Командата по-горе ще изпробва Threads_running (--threshold
; задайте това на вашата стойност за n ), всяка секунда (по подразбиране на --interval
) и стартирайте колекция от данни, ако Threads_running е по-голям от 50 за 1 последователна извадка (--cycles
). 3 дни (--retention-time
) от пробите ще се съхраняват и събирането няма да се задейства, ако по-малко от 20% от вашия диск е свободен (--disk-pct-free
). При всяка колекция ще се изпълнява pcap формат tcpdump (--collect-tcpdump
), които могат да бъдат анализирани или с конвенционални инструменти tcpdump, или с редица други инструменти на Percona Toolkit, включително pt-query-digest
и pt-tcp-model
. Ще има 5 минути почивка между пробите (по подразбиране --sleep
), за да предотвратите сами DoS. Процесът ще бъде демонизиран (--daemonize
). Параметрите след --
ще се предава на всички команди mysql/mysqladmin, така че е добро място за настройка на неща като --defaults-file
където можете да съхранявате вашите идентификационни данни за вход далеч от любопитни очи.