MC, 20:56 poniedziałek, 20.02.2023 r.
Ilustracja do artykułu: Logi konkretnego serwisu w Linux

Logi konkretnego serwisu w Linux

W tej notatce pokazuję jak odczytać logi konkretnego serwisu działającego na systemie Linux.

Gdzie są logi?

Miałem ostatnio taki problem, że aplikacja napisana w .NET Core działająca jako serwis, nie wstawała. Dlaczego? Otóż do tej informacji próbowałem dotrzeć. Status serwisu widniał jako "activating" a w logach aplikacji nic się nie pojawiało - znaczy więc, że problem pojawiał się na wczesnym etapie jej życia.

Najsensowniejszym rozwiązaniem jest dostać się do logów serwisu prowadzonych na poziomie systemu. Tylko jak to zrobić?

Z pomocą przychodzi polecenie journalctl wraz z przełącznikiem -u --unit=UNIT, po którym możemy wskazać nazwę interesującej nas jednostki, w tym wypadku serwisu.

$ journalctl -u name-of-the.service

Przy czym, warto zaznaczyć, że najpewniej zalani zostaniemy potokiem logów. Jeżeli więc, podobnie do mnie, potrzebujesz zbadać jakiś problem z ostatnich chwil, to najlepiej zrobić dwie rzeczy zawężające zakres logów. Pierwszy to przełącznik -b, który pozwala zwrócić logi z działającej sesji logowania. Jeśli to wciąż zbyt wiele, to polecam dołączyć pipem polecenie tail, które ograniczy wyniki do n ostatnich wierszy (100 w poniższym przykładzie).

$ journalctl -u name-of-the.service -b | tail -n 100

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść:
Wersja angielska: Logs of a specific service in Linux