pt-stalk is ontworpen voor dit exacte doel. Het bemonstert de proceslijst elke seconde (of op welk tijdstip dan ook dat u opgeeft), en wanneer een drempel wordt bereikt (Threads_running is de standaardinstelling en dat is wat u in dit geval wilt), verzamelt het een hele reeks gegevens, inclusief schijfactiviteit, tcpdumps, meerdere voorbeelden van de proceslijst, serverstatusvariabelen, mutex/innodb-status en nog veel meer.
Zo start je het:
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
De bovenstaande opdracht zal een voorbeeld zijn van Threads_running (--threshold
; stel dit in op uw waarde voor n ), elke seconde (standaard --interval
) en start een gegevensverzameling als Threads_running groter is dan 50 voor 1 opeenvolgende steekproef (--cycles
). 3 dagen (--retention-time
) van de monsters worden bewaard en het verzamelen wordt niet geactiveerd als minder dan 20% van uw schijf vrij is (--disk-pct-free
). Bij elke verzameling wordt een pcap-formaat tcpdump uitgevoerd (--collect-tcpdump
) die kan worden geanalyseerd met conventionele tcpdump-tools of een aantal andere Percona Toolkit-tools, waaronder pt-query-digest
en pt-tcp-model
. Er is een rust van 5 minuten tussen de monsters (standaard --sleep
) om zelf DoS'ing te voorkomen. Het proces wordt gedemoniseerd (--daemonize
). De parameters na --
wordt doorgegeven aan alle mysql/mysqladmin-commando's, dus het is een goede plek om dingen als --defaults-file
in te stellen waar u uw inloggegevens kunt bewaren voor nieuwsgierige blikken.