Sysdig - potężne narzędzie do monitorowania systemu i rozwiązywania problemów dla Linux

Sysdig - potężne narzędzie do monitorowania systemu i rozwiązywania problemów dla Linux

Sysdig jest open source, krzyżowym, potężnym i elastycznym narzędziem monitorowania systemu i rozwiązywania problemów dla Linux; Działa również w systemie Windows i Mac OSX, ale z ograniczoną funkcjonalnością i może być używany do analizy systemu, kontroli i debugowania.

Zwykle zastosowałbyś mieszankę różnych narzędzi do monitorowania wydajności Linux i rozwiązywania problemów, w tym tych wymienionych poniżej, aby wykonać zadania monitorowania i debugowania Linux:

  1. Strace - Odkryj połączenia systemowe i sygnały do ​​procesu.
  2. TCPDUMP - Monitorowanie ruchu sieciowego surowego.
  3. Netstat - Monitorowanie połączeń sieciowych.
  4. HTOP - monitorowanie procesów w czasie rzeczywistym.
  5. IFTOP - Monitorowanie przepustowości sieci w czasie rzeczywistym.
  6. LSOF - Zobacz, które pliki są otwierane przez jaki proces.

Jednakże, Sysdig Integruje to, co wszystkie powyższe narzędzia i wiele innych oferuje w jednym i prostym programie, bardziej z niesamowitym obsługą kontenerów. Umożliwia przechwytywanie, zapisanie, filtrowanie i badanie prawdziwego zachowania (strumień zdarzeń) systemów Linux, a także kontenerów.

Jest wyposażony w interfejs wiersza poleceń i potężny interaktywny interfejs użytkownika (Csysdig), które pozwalają oglądać aktywność systemu w czasie rzeczywistym lub wykonywać zrzut śladu i oszczędzać do późniejszej analizy. Możesz obejrzeć, jak działa CSYSDIG z poniższego filmu.

SYSDIG Funkcje:

  • Jest szybki, stabilny i łatwy w użyciu z kompleksowo udokumentowanym.
  • W zestawie natywna obsługa technologii kontenerowych, w tym Docker, LXC.
  • W Lua podlega scenariuszowi; Oferuje dłuto (lekkie skrypty lua) do przetwarzania zdarzeń systemowych przechwyconych systemów.
  • Obsługuje użyteczne filtrowanie wyjścia.
  • Obsługuje śledzenie systemu i aplikacji.
  • Można go zintegrować z Ansible, Puppet i Logstash.
  • Włącz próbkę zaawansowaną analizę dziennika.
  • Oferuje także funkcje analizy Attain Server Attack (Forensics) dla hakerów etycznych i więcej.

W tym artykule pokażemy, jak zainstalować SYSDIG w systemie Linux i użyjemy go z podstawowymi przykładami analizy systemu, monitorowania i rozwiązywania problemów.

Jak zainstalować Sysdig w Linux

Instalowanie Sysdig Pakiet jest tak prosty, jak uruchamianie poniższego polecenia, co sprawdzi wszystkie wymagania; Jeśli wszystko jest na miejscu, pobranie i zainstaluje pakiet z repozytorium Draios Apt/Yum.

# curl -s https: // s3.Amazonaws.com/pobierz.Draios.com/stabilny/instalacja-siysdig | Bash lub $ curl -s https: // s3.Amazonaws.com/pobierz.Draios.com/stabilny/instalacja-siysdig | Sudo Bash 

Po jego zainstalowaniu musisz uruchomić Sysdig jako root, ponieważ wymaga dostępu do obszarów krytycznych, takich jak /Proc system plików, /dev/sysdig* urządzenia i potrzeby automatycznego obciążenia modułu jądra Sysdig-Probe (w przypadku, gdy nie jest); W przeciwnym razie użyj polecenia sudo.

Najbardziej podstawowym przykładem jest uruchamianie go bez żadnych argumentów, umożliwi to przeglądanie strumienia zdarzeń systemu Linux zaktualizowanego w czasie rzeczywistym:

$ sudo sysdig 
Oglądaj zdarzenia systemowe Linux

Powyższe dane wyjściowe (surowe dane) nie ma dla Ciebie sensu, aby uzyskać bardziej użyteczny bieg wyjściowy Csysdig:

$ sudo csysdig 
Monitoruj zdarzenia systemowe Linux

Notatka: Aby uzyskać prawdziwy charakter tego narzędzia, musisz użyć Sysdig który produkuje surowe dane, jakie widzieliśmy wcześniej, z działającego systemu Linux: to wymaga zrozumienia, jak korzystać z filtrów i dłut.

Ale jeśli potrzebujesz bezbolesnego zastosowania Sysdig - kontynuować Csysdig.

Zrozumienie dłut i filtrów Sysdig

Sysdig dłuto to minimalne skrypty Lua do zbadania strumienia zdarzeń Sysdig w celu przeprowadzenia przydatnych działań w zakresie rozwiązywania problemów systemowych i innych. Poniższe polecenie pomoże Ci wyświetlić wszystkie dostępne dłuta:

$ sudo sysdig -cl 

Strzał z ekranu pokazuje przykładową listę dłut w różnych kategoriach.

Zobacz dłuta Sysdig

Jeśli chcesz dowiedzieć się więcej informacji na temat konkretnego dłuta, skorzystaj z -I flaga:

$ sudo sysdig -i topprocs_cpu 
Zobacz informacje o dłuto Sysdig

Filtry Sysdig Dodają więcej zasilania do rodzaju wyjścia, które możesz uzyskać ze strumieni zdarzeń, pozwalają one dostosować wyjście. Powinieneś je określić na końcu wiersza poleceń.

Prosty i najczęstszy filtr jest podstawowym „klasa.pole = wartość”Sprawdź, możesz również połączyć dłuta z filtrami, aby uzyskać jeszcze mocniejsze dostosowania.

Aby wyświetlić listę dostępnych klas pola, pola i ich opisów, wpisz:

$ sudo sysdig -l 
Wyświetl klasy pola Sysdig

Tworzenie pliku śledzenia systemu Linux System

Aby zrzucić wyjście Sysdig w pliku do późniejszej analizy, użyj -w Flaga w ten sposób.

Możesz odczytać plik zrzutu śledzenia za pomocą -R flaga:

$ sudo sysdig -r śledzenie.Scap 

-S Opcja służy do określenia ilości bajtów danych, które mają zostać przechwycone dla każdego zdarzenia systemowego. W tym przykładzie filtrujemy zdarzenia dla Mongood proces.

$ sudo sysdig -s 3000 -w śledzenie.Scap $ sudo sysdig -r śledzenie.Scap Proc.Nazwa = Mongood 
Utwórz plik śledzenia MongoDB

Monitorowanie procesów Linux

Aby wymienić procesy systemowe, wpisz:

$ sudo sysdig -c ps 
Monitoruj procesy Linux

Monitoruj procesy według użytkowania procesora

Aby oglądać najlepsze procesy według procentu użytkowania procesora, uruchom to polecenie:

$ sudo sysdig -c topprocs_cpu 
Monitoruj procesy według użytkowania procesora

Monitorowanie połączeń sieciowych i we/wy

Aby wyświetlić połączenia sieciowe systemu, uruchom:

$ sudo sysdig -c netstat 
Monitoruj połączenia sieciowe

Poniższe polecenie pomoże Ci wymienić najwyższe połączenia sieciowe według Total Bajtes:

$ sudo sysdig -c topconns 

Następnie możesz również wymienić najważniejsze procesy według sieci we/wy sieciowej w następujący sposób:

$ sudo sysdig -c topprocs_net 

Monitorowanie pliku systemu we/wy

Możesz wyprowadzić dane odczytu i zapisane przez procesy w systemie, jak poniżej:

$ sudo sysdig -c echo_fds 
System monitorowania IO

Aby wymienić najwyższe procesy przez bajty dysku (czytaj + zapis), użyj:

$ sudo sysdig -c topprocs_file 

Rozwiązywanie problemów z systemem systemu Linux

Aby mieć oko na wąskie gardła (powolne wywołania systemu), wykonaj to polecenie:

$ sudo sysdig -c butlelecks 
Rozwiązywanie problemów z Linux

Śledź czas wykonywania procesu

Aby śledzić czas wykonywania procesu, możesz uruchomić to polecenie i zrzucić śledzenie w pliku:

$ sudo sysdig -w extime.scap -c proc_exec_time 
Śledź czas wykonywania procesu

Następnie użyj filtra, aby zero w dół w szczegółach określonego procesu (Postgres w tym przykładzie) w następujący sposób:

$ sudo sysdig -r extime.Scap Proc.Nazwa = Postgres 

Odkryj powolną sieć I/0

To proste polecenie pomoże ci wykryć powolną sieć I/0:

$ sudo sysdig -c netlower 

Oglądanie wpisów plików dziennika

Poniższe polecenie pomaga wyświetlić każdą wiadomość zapisaną w Syslog, jeśli jesteś zainteresowany wpisami dziennika dla określonego procesu, utwórz zrzucenie śledzenia i odfiltruj go odpowiednio, jak pokazano wcześniej:

$ sudo sysdig -c spy_syslog 

Możesz wydrukować dowolne dane zapisane przez dowolny proces do pliku dziennika w następujący sposób:

$ sudo sysdig -c spy_logs 

Monitorowanie żądań serwera HTTP

Jeśli masz serwer HTTP, taki jak Apache lub Nginx działający w naszym systemie, przejrzyj dziennik żądań serwera za pomocą tego polecenia:

$ sudo sysdig -c httplog $ sudo sysdig -c httptop [print top żądania http] 
Monitoruj żądania HTTP

Wyświetl powłoki logowania i interaktywna aktywność użytkownika

Poniższe polecenie umożliwi wyświetlenie wszystkich identyfikatorów powłoki logowania:

$ sudo sysdig -c list_login_shells 

Wreszcie możesz pokazać interaktywną aktywność użytkowników systemu, takich jak:

$ sudo sysdig -c spy_users 
Monitoruj aktywność użytkownika

Aby uzyskać więcej informacji i przykładów użytkowania, przeczytaj strony Sysdig i Csysdig Man:

$ man sysdig $ man csysdig 

Odniesienie: https: // www.Sysdig.org/

Sprawdź także te przydatne narzędzia do monitorowania wydajności Linux:

  1. BCC - Dynamiczne narzędzia śledzenia do monitorowania wydajności Linux, sieci i innych
  2. Pydash - narzędzie do monitorowania wydajności Linuksa internetowego
  3. Narzędzie do monitorowania i analizy wydajności dla Linux
  4. Collectl: Zaawansowane narzędzie monitorowania wydajności dla Linux
  5. NetData - narzędzie do monitorowania wydajności w czasie rzeczywistym dla systemów Linux
Wniosek

Sysdig łączy funkcjonalność z wielu narzędzi wiersza poleceń do jednego niezwykłego interfejsu, umożliwiając w ten sposób głęboko zakopane w zdarzeniach systemowych Linux, aby zbierać dane, zapisać do późniejszej analizy i oferuje niesamowitą obsługę kontenerów.

Aby zadawać pytania lub podzielić się przemyśleniami na temat tego narzędzia, użyj poniższego formularza opinii.