Linux

Journalctl: jak znaleźć błąd usługi w Linuxie

Praktyczne polecenia journalctl: logi usługi, ostatnia godzina, poprzedni start i komunikaty jądra. Zawężaj wyniki zamiast czytać wszystko.

KRÓTKA ODPOWIEDŹ

Na systemie z systemd użyj journalctl -u NAZWA_USŁUGI z zakresem czasu odpowiadającym awarii. Szukaj pierwszego istotnego błędu przed restartem, a nie tylko końcowego komunikatu o zakończeniu procesu.

Najpierw wybierz usługę i czas

Zacznij od systemctl status, aby sprawdzić nazwę jednostki i stan. Nazwa może być inna w różnych dystrybucjach. Nie zakładaj, że każda usługa SSH nazywa się sshd lub że PHP-FPM ma jedną uniwersalną nazwę. ``bash systemctl status nginx --no-pager journalctl -u nginx --since "1 hour ago" --no-pager journalctl -u nginx -n 100 --no-pager `` Te komendy służą do odczytu. Dostęp do wszystkich komunikatów może wymagać uprawnień administratora. Jeśli widzisz mało wyników, sprawdź uprawnienia i sposób logowania usługi, zamiast uznawać, że nie było błędu.

Zawężanie daje lepszy wynik niż ogromny plik

bash
journalctl -u nginx --since "2026-10-11 09:00:00" --until "2026-10-11 09:15:00"
journalctl -u nginx -f
journalctl -k -b

Daty są przykładem — podstaw czas awarii i pamiętaj o strefie czasowej serwera. -f śledzi nowe wpisy, a -k wybiera komunikaty jądra. Użyj Ctrl+C, aby zakończyć śledzenie. Nie ograniczaj od razu wyniku tylko do poziomu error: ważny kontekst może być w komunikatach informacyjnych.

Przy porównywaniu logów aplikacji, proxy i systemu ujednolić czas. Różnica stref lub źle ustawiony zegar sprawia, że pozornie szukasz awarii, która nastąpiła godzinę wcześniej. Zapisz również PID i identyfikator żądania, jeżeli aplikacja je udostępnia.

Awaria przy poprzednim uruchomieniu

bash
journalctl --list-boots
journalctl -b -1 -p warning --no-pager
journalctl --disk-usage

Historia poprzednich startów zależy od konfiguracji trwałego przechowywania oraz retencji. Brak wpisów nie dowodzi, że wszystko działało poprawnie. Część aplikacji zapisuje logi do własnych plików zamiast journala. Dla serwera WWW sprawdź również error log i access log.

Jak zamienić log w diagnozę?

Przy „permission denied” sprawdź właściciela i prawa konkretnej ścieżki. Przy „address already in use” ustal, który proces zajmuje port. Przy zabitym procesie szukaj OOM i limitów pamięci. Przy „no space left on device” przejdź do diagnostyki dysku. Sam restart może chwilowo ukryć objaw, ale nie usuwa jego przyczyny.

Po zmianie porównaj nowe wpisy i przetestuj funkcję aplikacji. Status active oznacza, że proces działa, nie że strona poprawnie odpowiada klientom. Poradnik błędu 502 pokazuje, jak zbadać więcej niż jeden element ścieżki żądania.

Co przekazać do pomocy technicznej?

Krótki fragment przed i po błędzie, czas, usługę oraz ostatnią zmianę. Usuń sekrety, dane klientów i niepotrzebne adresy. Nie publikuj całego journala. Gdy korzystasz z VPS Castpol, sprawdź zakres wsparcia dla administracji aplikacją; konto z root nie oznacza automatycznie zarządzania każdą usługą przez dostawcę.

Źródła i dokumentacja

Dokumentacja do dalszej weryfikacji ustawień i wymagań swojej wersji.

c.
Castpol Blog

Poradnik wydawany przez Castpol. O blogu · Zgłoś poprawkę

KOLEJNY KROK

Te poradniki uzupełniają temat