Atop – analizujemy historyczne obciążenie maszyny
Cześć,
ostatnio troszkę zaniechałem wpisów o przydatnych aplikacjach linuowych, ale już wracam z tym tematem. Dziś przyjrzymy się bliżej programowi atop.
Atop to program przypominający htopa, ale posiadający możliwość zapisu obciążenia maszyny (domyślnie 27 dni wstecz) – co pozwala nam analizować owe obciążenie właśnie do 27 dni wstecz.
Instalacja atopa na linuxach typu Redhat/Centos/Fedora jest bardzo prosta i zamyka się w jednym poleceniu:
yum install atop
Po instalacji atop możemy go uruchomić poleceniem atop co spowoduje ukazanie się nam interfejsu tejże aplikacji:
Polećmy pierw po wierszach statystyk, bo różnią się one trochę od tych z htopa:
- PRC
- sys – ilość czasu procesora w system mode
- user – ilość czasu procesora w user mode
- #proc – całkowita ilość procesów
- #trun – ilość wątków w stanie „running”
- #tlspi – ilość wątków uśpionych, czekających na coś
- #tlspu – ilość wątków uśpionych, aktywnie czekających na coś
- #zombie – ilość wątków zombiePRC:
- CPU – procent wykorzystania procesora w trybie systemowy, użytkownika, na przerwania, w bezczynności, w oczekiwaniu itp
- cpu – kolejne rdzenie procesora
- CPL – średnie obciążenie w avg1 (ostatniej minucie), avg5 (ostatnie 5 min), avg15 (ostatnie 15 min). Natomiast csw to ilość przełączeń kontekstu, intr to ilość przerwań i na końcu ilość rdzeni.
- MEM i SWP – ilość o pamięci fizycznej i pamięci SWAP.
- DSK – informacje o dysku
- NET – statystyki sieciowe
Po konkretniejsze informacje odsyłam do manuala:
man atop
Historyczna analiza obciążenia
Pliki zawierające zapis obciążenia maszyny są domyślnie w folderze:
/var/log/atop
Zawartość tego folderu może wyglądać tak:
razem 622644
-rw-r--r--. 1 root root 72218206 01-24 00:00 atop_20190123
-rw-r--r--. 1 root root 73153095 01-25 00:00 atop_20190124
-rw-r--r--. 1 root root 76038990 01-26 00:00 atop_20190125
-rw-r--r--. 1 root root 80258217 01-27 00:00 atop_20190126
-rw-r--r--. 1 root root 76765746 01-28 00:00 atop_20190127
-rw-r--r--. 1 root root 76236481 01-29 00:00 atop_20190128
-rw-r--r--. 1 root root 66648705 01-30 00:00 atop_20190129
-rw-r--r--. 1 root root 63729048 01-31 00:00 atop_20190130
-rw-r--r--. 1 root root 52483236 01-31 18:30 atop_20190131
-rw-r--r--. 1 root root 0 01-31 00:00 daily.log
Żeby przeglądać obciążenie z konkretnego dnia wystarczy uruchomić atopa ze wskazanym plikiem, a więc dla 30ego stycznia plik sygnowany datą 30ego:
atop -r /var/log/atop/atop_20190130
Po uruchomieniu programu, na górnej, szarej belce widzimy datę i godzinę którą aktualnie podglądamy:
I teraz tak, naciskając na klawiaturze literę „t” przesuwamy się w przód o 20 min (przy mojej konfiguracji, jeśli masz inną, odpowiednio godzina Ci się na górnej belce zmieni). Natomiast naciskając „T” a więc „t” z shiftem – cofamy się o ten sam interwał.
Możemy skoczyć od razu do jakiejś godziny, naciskając klawisz „b” i podając nad środkowym nagłówkiem, docelową godzinę:
Naciskając natomiast literkę „c” dostaniemy widok procesów wraz ze ścieżkami do nich i informacją jakie obciążenie generowały w danym momencie.
Plik konfiguracyjny znajduje się pod ścieżką
/etc/sysconfig/atop
Po więcej informacji zapraszam do dokumentacji – moim celem nie jest jej tłumaczenie a pokazanie że takie narzędzie istnieje i może być przydatne do rozwiązania nie jednego problemu.
I dokładnie tak jest – często zdarza się że chcemy przeanalizować jakiś dzień, kiedy to np. maszyna nie osiągnęła krytycznego poziomu żadnego z obserwowanych przez np. zabbixa metryk, ale jednak mamy podejrzenie że coś się gdzieś przytkało. Albo wiemy że się przytkało ale nie wiemy dokładnie co:)
Mateusz Mazurek