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!