Zrozumienie logów systemowych
Poznaj katalog `/var/log` i używaj `journalctl` do interpretowania logów systemowych, aplikacyjnych i bezpieczeństwa na potrzeby debugowania oraz audytu.
Zrozumienie logów systemowych to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.
Dlaczego serwery prowadzą dzienniki
Wyobraźmy sobie serwer jako zapracowanego pracownika. Wykonuje wiele zadań — od obsługi stron internetowych po przetwarzanie danych. Skąd wiadomo, czym się zajmował?
- Dzienniki systemowe są niczym dziennik prowadzony przez serwer.
- Rejestrują zdarzenia, błędy, ostrzeżenia i inne działania.
- Dzienniki te mają kluczowe znaczenie dla zrozumienia działania serwera, debugowania problemów i zapewnienia bezpieczeństwa.
Lokalizacja dzienników: /var/log
W systemach Linux większość tradycyjnych plików dziennika jest przechowywana w określonym katalogu: /var/log.
Katalog ten pełni funkcję centralnego repozytorium dzienników systemu, usług i aplikacji. Podczas rozwiązywania problemu często jest to pierwsze miejsce, które należy sprawdzić.
Zaglądamy do /var/log
Użyjmy polecenia ls, aby sprawdzić, jakie rodzaje plików dziennika zwykle znajdują się w katalogu /var/log na serwerze Linux.
Zauważą Państwo wiele plików, często nazwanych na podstawie usługi lub rodzaju rejestrowanych zdarzeń.
ls -lh /var/logNajważniejsze pliki dzienników
Chociaż katalog /var/log zawiera wiele plików, niektóre z nich są używane częściej:
syslog(lubmessages): Ogólna aktywność systemu i komunikaty rozruchowe niezwiązane z jądrem.auth.log(lubsecure): Próby uwierzytelnienia, użycie sudo i zdarzenia związane z bezpieczeństwem.kern.log: Komunikaty dotyczące jądra, często przydatne przy diagnozowaniu problemów ze sprzętem lub sterownikami.boot.log: Komunikaty rejestrowane podczas uruchamiania systemu.
Nowoczesne dzienniki z journalctl
W nowoczesnych dystrybucjach Linuksa korzystających z systemd dzienniki są często zarządzane przez journal — ustrukturyzowany system rejestrowania.
Podstawowym narzędziem wiersza poleceń do obsługi dziennika systemd jest journalctl. Zapewnia ono zaawansowane możliwości filtrowania i wyświetlania danych.
Pierwsze spojrzenie na journalctl
Aby wyświetlić wszystkie wpisy dziennika od początku, wystarczy uruchomić journalctl. Dzienniki zostaną wyświetlone w widoku stronicowanym, podobnym do programu less.
Naciśnięcie q kończy działanie przeglądarki.
journalctlFiltrowanie według usługi i czasu
Narzędzie journalctl doskonale nadaje się do filtrowania. Można zawęzić dzienniki do określonych usług lub przedziałów czasu:
-u <service>: Wyświetla dzienniki określonej jednostki systemd (np.sshd,nginx).--since "time": Wyświetla dzienniki od określonego momentu (np."1 hour ago","2023-01-01").
journalctl -u sshd --since "1 hour ago"Monitorowanie w czasie rzeczywistym za pomocą -f
Podczas aktywnego debugowania problemu lub obserwowania nowych zdarzeń niezwykle przydatne jest polecenie journalctl -f. Opcja -f (follow) wyświetla nowe wpisy dziennika w czasie rzeczywistym.
Proszę wypróbować to polecenie, a następnie otworzyć drugi terminal i spróbować zalogować się przez SSH, aby zobaczyć pojawiające się nowe wpisy!
journalctl -fDzienniki pomocne w rozwiązywaniu problemów
Dzienniki systemowe są najlepszym przyjacielem podczas debugowania. Jeśli usługa się nie uruchamia lub aplikacja ulega awarii:
- Sprawdź dzienniki tej konkretnej usługi (np.
journalctl -u myapp.service). - Szukaj słów kluczowych, takich jak
error,fail,warninglubpermission denied. - Dzienniki często zawierają dokładne komunikaty o błędach lub wskazówki pomagające znaleźć ich główną przyczynę.
Quiz detektywistyczny: dzienniki
Próbują Państwo debugować usługę serwera WWW o nazwie nginx, która nie uruchomiła się po niedawnej aktualizacji systemu. Które z poniższych poleceń journalctl będzie najbardziej pomocne w natychmiastowej diagnozie?
Podsumowanie: pełna moc dzienników
Doskonale! Dowiedzieli się już Państwo, jak korzystać z mocy dzienników systemowych:
- Dzienniki są kluczowymi zapisami pomocnymi w debugowaniu i audytowaniu.
/var/logto tradycyjne miejsce przechowywania wielu plików dziennika.journalctlto nowoczesne, zaawansowane narzędzie do odpytywania dzienników journal systemd.- Dzienniki można filtrować według usługi i czasu oraz śledzić je w czasie rzeczywistym.
Warto utrwalać te umiejętności — gdy coś przestaje działać, dzienniki często są pierwszym miejscem, które należy sprawdzić!
Często zadawane pytania
Czy lekcja „Zrozumienie logów systemowych” jest bezpłatna?
Tak — pełny tekst „Zrozumienie logów systemowych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.
Co nauczysz się w „Zrozumienie logów systemowych”?
Poznaj katalog `/var/log` i używaj `journalctl` do interpretowania logów systemowych, aplikacyjnych i bezpieczeństwa na potrzeby debugowania oraz audytu. Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?
Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zrozumienie logów systemowych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?
Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Narzędzia do monitorowania systemu
- Zrozumienie logów systemowych
- Rotacja i archiwizacja logów
- Scentralizowane monitorowanie i alerty