pt-stalk je určen přesně pro tento účel. Vzorkuje seznam procesů každou sekundu (nebo kdykoli zadáte čas), a když je dosaženo prahové hodnoty (Threads_running je výchozí a v tomto případě to je to, co chcete), shromažďuje spoustu dat, včetně aktivity disku, tcpdumps, více ukázky seznamu procesů, stavové proměnné serveru, stav mutex/innodb a mnoho dalšího.
Zde je návod, jak to spustit:
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
Výše uvedený příkaz bude vzorek Threads_running (--threshold
; nastavte tuto hodnotu na hodnotu n ), každou sekundu (výchozí hodnota --interval
) a spusťte kolekci dat, pokud je Threads_running větší než 50 pro 1 po sobě jdoucí vzorek (--cycles
). 3 dny (--retention-time
) vzorků budou uchovány a shromážděné se nespustí, pokud je volných méně než 20 % vašeho disku (--disk-pct-free
). Při každé kolekci bude spuštěn tcpdump ve formátu pcap (--collect-tcpdump
), které lze analyzovat buď konvenčními nástroji tcpdump, nebo řadou dalších nástrojů Percona Toolkit, včetně pt-query-digest
a pt-tcp-model
. Mezi vzorky bude 5 minut pauza (výchozí nastavení --sleep
), abyste zabránili tomu, abyste se sami udělali. Proces bude démonizován (--daemonize
). Parametry za --
budou předány všem příkazům mysql/mysqladmin, takže je dobré místo pro nastavení věcí jako --defaults-file
kde si můžete uložit své přihlašovací údaje mimo dosah zvědavých očí.