pt-stalk jest przeznaczony właśnie do tego celu. Próbkuje listę procesów co sekundę (lub w dowolnym czasie, który określisz), a następnie po osiągnięciu progu (Wątki_uruchamianie jest wartością domyślną i jest tym, czego chcesz w tym przypadku), zbiera całą masę danych, w tym aktywność dysku, tcpdumps, wiele próbki listy procesów, zmiennych statusu serwera, statusu mutex/innodb i wielu innych.
Oto jak zacząć:
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
Powyższe polecenie będzie próbkować Threads_running (--threshold
; ustaw to na swoją wartość dla n ), co sekundę (domyślnie --interval
) i uruchom kolekcję danych, jeśli Threads_running jest większe niż 50 dla 1 kolejnej próbki (--cycles
). 3 dni (--retention-time
) próbek zostaną zachowane i zebrane nie zostaną uruchomione, jeśli mniej niż 20% dysku jest wolne (--disk-pct-free
). Przy każdej kolekcji zostanie wykonany format pcap tcpdump (--collect-tcpdump
), które można analizować za pomocą konwencjonalnych narzędzi tcpdump lub szeregu innych narzędzi Percona Toolkit, w tym pt-query-digest
i pt-tcp-model
. Pomiędzy próbkami będzie 5 minut odpoczynku (domyślnie --sleep
), aby zapobiec atakom DoS. Proces zostanie zdemonizowany (--daemonize
). Parametry po --
zostanie przekazany do wszystkich poleceń mysql/mysqladmin, więc jest to dobre miejsce na ustawienie takich rzeczy jak --defaults-file
gdzie możesz przechowywać swoje dane logowania z dala od wścibskich oczu.