pt-stalk er designet til netop dette formål. Det sampler proceslisten hvert sekund (eller hvilket tidspunkt du angiver), og når en tærskel er nået (Threads_running er standarden og er, hvad du ønsker i dette tilfælde), indsamler den en hel masse data, inklusive diskaktivitet, tcpdumps, flere eksempler på proceslisten, serverstatusvariabler, mutex/innodb-status og en masse mere.
Sådan starter du det:
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
Kommandoen ovenfor vil prøve Threads_running (--threshold
; sæt dette til din værdi for n ), hvert sekund (standard for --interval
) og affyr en dataindsamling, hvis Threads_running er større end 50 for 1 på hinanden følgende prøve (--cycles
). 3 dage (--retention-time
) af prøver vil blive opbevaret og indsamle vil ikke udløses, hvis mindre end 20 % af din disk er ledig (--disk-pct-free
). Ved hver samling vil et pcap-format tcpdump blive udført (--collect-tcpdump
) som kan analyseres med enten konventionelle tcpdump-værktøjer eller en række andre Percona Toolkit-værktøjer, herunder pt-query-digest
og pt-tcp-model
. Der vil være 5 minutters pause mellem prøverne (standard --sleep
). ) for at forhindre, at du gør dig selv. Processen vil blive dæmoniseret (--daemonize
). Parametrene efter --
videregives til alle mysql/mysqladmin-kommandoer, så det er et godt sted at indstille ting som --defaults-file
hvor du kan gemme dine loginoplysninger væk fra nysgerrige øjne.