Z racji tego, że monitorowanie parametrów (zwłaszcza) serwera jest elementem dość istotnym, chciałbym Wam przedstawić kolejne narzędzie tego typu – a właściwie będzie to cały pakiet, choć główną uwagę skieruje pewnie do jednego narzędzia wchodzącego w jego skład, ale w pewnym sensie scalającego cały pakiet…

Pakiet sysstat – narzędzia do pomiaru wydajności systemu (Linux)

Pakiet o którym chciałbym napisać to sysstat, i w jego skład wchodzi kilka narzędzi, a by nie wymyślać koła na nowo, to posłużę się kilkoma informacjami ze strony Debiana:

  • sar – zbieranie i raportowanie informacji o aktywności systemu
  • iostat – raportowanie użycia CPU oraz statystyk wejścia/wyjścia dysków
  • mpstat – raportowanie statystyk globalnych i w podziale na poszczególne procesory
  • pidstat – raportowanie statystyk zadań Linuksa (procesów)
  • sadf – wyświetlanie danych zebranych przez sar w różnych formatach
  • cifsiostat – raportowanie statystyk wejścia/wyjścia systemów plików CIFS
  • nfsiostat-sysstat – (przestarzały) raportowanie statystyk wejścia/wyjścia sieciowych systemów plików

Jak widać trochę tego jest, ale nieprzypadkowo to narzędzie sar znalazło się na górze, gdy – zaryzykuje, że – jest ono zapewne (nie tylko u mnie) głównym powodem instalacji pakietu sysstats:

Statystyki raportowane przez sar odnoszą się między innymi do transferów wejścia/wyjścia, aktywności stronicowania, aktywności związanych z procesami, przerwań, aktywności sieciowej, użycia pamięci i przestrzeni wymiany, zużycia CPU, aktywności jądra oraz statystyk TTY. W pełni obsługiwane są zarówno komputery UP jak i SMP.

Instalacja i konfiguracja

W systemie Debian (Raspbian) program możemy zainstalować za pomocą polecenia:

sudo apt-get install sysstat

Po tej operacji uruchamiamy zbieranie raportów:

sudo /etc/init.d/sysstat start

Oraz – istotne w systemie Debian – ustawiamy automatyczny start wraz z systemem:

sudo nano /etc/default/sysstat

I zmieniamy:

ENABLED="false"

na:

ENABLED="true"

Warto jeszcze zajrzeć do pliku z konfiguracją, nawet jeśli nie znajdziemy tam specjalnie wielu opcji:

sudo nano /etc/sysstat/sysstat

Znajdziecie tu m.in. ustawienia parametrów/opcji:

  • HISTORY – ile dni mają być trzymane pliki z logami (standardowo jest to 7 dni, maksymalnie można ustawić 28)
  • COMPRESSAFTER – po ilu dniach logi maja zostać skompresowane (zarchiwizowane)

Jak zapytacie dlaczego 28, skoro miesiąc może mieć nawet 31 dni to odpowiem, że tak naprawdę to nie wiem, ale to pewnie dlatego, że 28 ma zazwyczaj luty, i tak sobie autor wymyślił… ;-)

Na koniec warto jeszcze zajrzeć do pliku utworzonego na potrzeby harmonogramu zadań (CRON), gdzie możemy m.im. zmienić częstotliwość zapisywania danych do logów.

Standardowo jest to “co 10 minut”:

5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

Można zmienić by zapis odbywał się np. co 3 minuty:

*/3 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1

Analiza danych

W przypadku systemu Debian logi z programu znajdziecie w katalogu:

/var/log/sysstat/

I to właśnie z tego miejsca aplikacja/narzędzie sar pobiera dane, które możemy wyświetlić.

Podstawowe zasady

Zanim zaczniecie, to prawdopodobnie warto przyswoić kilka zasad dotyczących pracy z programem, dzięki czemu – w razie potrzeby – szybko będziecie w stanie wydobyć interesujące Was dane z wybranego okresu.

Podstawowa wersja polecenia zwraca dane archiwalne, z aktualnego dnia:

sar [PARAMETR]

Np.:

sar -u

Ale możecie również wyświetlić dane pobrane w danym momencie:

sar [PARAMETR] [PRZERWA MIĘDZY ODCZYTAMI] [ILE ODCZYTÓW]

Np.:

sar -u 3 3

Wyświetlając dane archiwalne z aktualnego dnia możemy ograniczyć je do konkretnego przedziału czasu:

sar [PARAMETR] -s [godz:min:sek rozpoczęcia] -e [godz:min:sek zakończenia]

Np.:

sar -u -s 21:17:03 -e 23:58:45

Możemy też wyświetlić parametry z danego dnia miesiąca:

sar -u -f /var/log/sa/sa[dzień]

Np. z 17-go:

sar -u -f /var/log/sa/sa17

A nawet z konkretnego przedziału czasu z wybranego dnia:

sar -u -f /var/log/sa/sa17 -s 21:17:03 -e 23:58:45

Podstawowe parametry

Wprawdzie program możecie uruchomić bez żadnego parametru, to zapewne częściej będziecie jednak korzystać z parametrów, dzięki którym ograniczycie wyświetlane informacje do niezbędnego minimum.

Wykorzystanie procesora:

sar -u

Z rozbiciem na poszczególne rdzenie (dotyczy procesorów wielordzeniowych):

sar -P ALL

Można też sprawdzić statystyki dla wybranego rdzenia:

sar -P [NUMER RDZENIA]

Średnie obciążenie (5, 10 i 15 minut(owe)):

sar -q

Statystyki dotyczące wykorzystania pamięci:

sar -r

Transfer (I/O) dysków:

sar -d

Statystyki związane z siecią:

sar -net DEV

Informacje o pamięci SWAP:

sar -S

Wszystkie informacje:

sar -A

Wersja pakietu:

sar -V

Zapis do własnego archiwum:

sar [PARAMETR(Y)] > archiwum.log

Oraz podręcznik użytkownika, bo nawet nie podejmuję się tutaj wymienienia wszystkich parametrów, czy możliwości:

man -sar
(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk