Sysdig - potężne narzędzie do monitorowania systemu i rozwiązywania problemów dla Linux
- 1820
- 66
- Laura Zygmunt
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:
- Strace - Odkryj połączenia systemowe i sygnały do procesu.
- TCPDUMP - Monitorowanie ruchu sieciowego surowego.
- Netstat - Monitorowanie połączeń sieciowych.
- HTOP - monitorowanie procesów w czasie rzeczywistym.
- IFTOP - Monitorowanie przepustowości sieci w czasie rzeczywistym.
- 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 sysdigOglą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 csysdigMonitoruj 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 SysdigJeśli chcesz dowiedzieć się więcej informacji na temat konkretnego dłuta, skorzystaj z -I
flaga:
$ sudo sysdig -i topprocs_cpuZobacz 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 -lWyś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 = MongoodUtwórz plik śledzenia MongoDB
Monitorowanie procesów Linux
Aby wymienić procesy systemowe, wpisz:
$ sudo sysdig -c psMonitoruj 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_cpuMonitoruj procesy według użytkowania procesora
Monitorowanie połączeń sieciowych i we/wy
Aby wyświetlić połączenia sieciowe systemu, uruchom:
$ sudo sysdig -c netstatMonitoruj 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_fdsSystem 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 butlelecksRozwią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_usersMonitoruj 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:
- BCC - Dynamiczne narzędzia śledzenia do monitorowania wydajności Linux, sieci i innych
- Pydash - narzędzie do monitorowania wydajności Linuksa internetowego
- Narzędzie do monitorowania i analizy wydajności dla Linux
- Collectl: Zaawansowane narzędzie monitorowania wydajności dla Linux
- 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.
- « 23 Przydatne przykłady poleceń PKG do zarządzania pakietami w FreeBSD
- Jak połączyć się z MySQL bez hasła roota na terminalu »