Dzienniki systemowe są Twoim najlepszym przyjacielem, gdy chcesz rozwiązać problemy. Oto wszystko, co musisz wiedzieć o monitorowaniu dzienników w systemie Ubuntu.

To niezwykle frustrujące, gdy komputer nie działa prawidłowo i nie wiesz dlaczego. Chociaż nie ma łatwych rozwiązań dla każdego problemu, który możesz napotkać w Ubuntu, możesz użyć zasobów, takich jak dzienniki błędów Ubuntu, aby rozwiązać problemy i zdiagnozować problemy z komputerem.

Co to są dzienniki Ubuntu?

Ubuntu dzienniki to obszerne pliki które przechowują zapis wszystkich zdarzeń, które mają miejsce na komputerze. Zawiera zarejestrowane informacje o sprzęcie, systemie operacyjnym, a nawet niektórych programach.

Te dzienniki są nieocenione w procesie rozwiązywania problemów i diagnozowania. Dostarczają informacji, takich jak sygnatury czasowe, kontekst i szczegółowe informacje o zdarzeniach, które mają miejsce w systemie. Aby korzystać z tych dzienników, musisz najpierw poznać najważniejsze typy.

Rodzaje dzienników Ubuntu

instagram viewer

Zamiast zapisywać każdą informację w jednym dzienniku, Ubuntu zapisuje informacje w oddzielnych dziennikach zaprojektowanych do różnych celów. Chociaż istnieje zbyt wiele dzienników, aby je wymienić, istnieje kilka ważnych dzienników (i typów dzienników), o których należy wiedzieć, zanim spróbuje się ich użyć do rozwiązywania problemów.

Być może najbardziej widocznym ze wszystkich dzienników jest dziennik systemowy. systemd to zintegrowany menedżer usług w systemie Linux. W rezultacie problemy z wieloma różnymi usługami systemu operacyjnego są rejestrowane w dzienniku systemd. Możesz poruszać się po tym dzienniku za pomocą polecenie journalctl.

Bardzo ważne są również logi systemowe. Te dzienniki odnoszą się bezpośrednio do różnych części Ubuntu i mogą zawierać takie rzeczy, jak komunikaty systemowe. Niektóre dzienniki systemowe obejmują:

  • Dziennik autoryzacji: Każdy proces wymagający autoryzacji, taki jak polecenie sudo lub logowanie użytkownika, zostanie zapisany w tym dzienniku.
  • Dziennik demona: Ten dziennik dotyczy wszelkich usług działających w tle (lub demonów), takich jak Bluetooth i SSH.
  • Dziennik debugowania: Ten dziennik zawiera informacje debugowania dostarczane przez system, a także aplikacje logujące się do syslogd.
  • Dziennik jądra: Ten dziennik zawiera zapisy działań dotyczących jądra systemu Linux.
  • Dziennik systemu: W tym dzienniku są przechowywane rekordy obejmujące większość typów globalnej aktywności w systemie.
  • Dziennik awarii: Ten dziennik przechowuje rejestry nieudanych logowań, co czyni go szczególnie pomocnym przy sprawdzaniu, czy ktoś nie próbował włamać się do Twojego systemu.

Twój komputer może również mieć dzienniki aplikacji (takie jak pliki dziennika Apache lub pliki dziennika MySQL) przechowywane w /var/log informator. Możesz użyj polecenia ls aby zobaczyć wszystkie pliki dziennika aktualnie przechowywane na komputerze:

ls /var/log

Jak czytać dzienniki w systemie Ubuntu

Teraz, gdy znasz różne typy dzienników w swoim systemie, możesz zagłębić się w informacje, które przechowują. Zanim zaczniesz, ważne jest, aby pamiętać, że nie wszystkie dzienniki systemowe są zapisywane w ten sam sposób.

Niektóre dzienniki są przechowywane jako zwykłe pliki tekstowe, podczas gdy inne dzienniki są przechowywane jako pliki binarne. Będziesz musiał zapoznać się z obydwoma typami plików - i narzędziami wiersza poleceń, z którymi są sparowane - jeśli chcesz skutecznie analizować rekordy w swoim systemie.

Dzienniki plików zwykłego tekstu korzystają z szablonu znanego jako RSYSLOG_TraditionalFileFormat i zawierają cztery podstawowe pola: sygnaturę czasową, nazwę hosta, aplikację i komunikat. Na przykład dziennik jądra używa tego szablonu:

W przeciwieństwie do dzienników w postaci zwykłego tekstu dzienniki z plikami binarnymi nie są tak łatwe do odczytania. Będziesz musiał użyć narzędzi wiersza poleceń, takich jak Kto, ostatni, I ostatnib odczytywać dzienniki, takie jak odpowiednio utmp, wtmp i btmp. Komendy jak utmpdump dla wariantów utmp i systemctl for journald są również zaprojektowane do drukowania binarnych informacji dziennika w czytelnym formacie.

W większości sytuacji ważna będzie umiejętność efektywnego analizowania tych dzienników w terminalu. Możesz używać poleceń takich jak grep i tail, aby pobierać określone informacje bez konieczności żmudnego przeglądania wszystkich dzienników systemowych.

Niektóre z najlepszych poleceń, których możesz użyć, to:

  • grep: Wyszukuje ciąg znaków w pliku
  • ogon: Drukuje 10 wierszy od końca pliku
  • głowa: Drukuje 10 wierszy od początku pliku
  • sortować: Drukuje plik przeorganizowany zgodnie ze specyfikacjami

Narzędzia wiersza poleceń, takie jak utmpdump i systemctl, mają również pomocne flagi, o których należy pamiętać podczas pracy w terminalu. Te flagi pozwolą ci zmodyfikować polecenie i mieć zwiększoną kontrolę nad tym, co drukuje w terminalu.

Niektóre szczególnie przydatne flagi dla polecenia journalctl to:

  • -B: Powoduje, że journalctl zwraca tylko wpisy zebrane po ostatnim restarcie
  • --od „RRRR-MM-DD GG: MM: SS” --do „RRRR-MM-DD GG: MM: SS”: Nakazuje journalctl zwracanie wpisów tylko przed i/lub po określonych datach
  • -p LICZBA: Filtruje wpisy według ich priorytetów syslog (od 0/emerg do 7/debug)

Rozwiązywanie problemów z błędami w dziennikach Ubuntu

Teraz, gdy znasz różne typy dzienników systemowych i wiesz, jak je czytać skutecznie, jedyne, co pozostało do zrobienia, to zastosować zebrane informacje do rozwiązywania problemów proces. Ten proces zwykle wymaga trochę kreatywności.

Dobrym pomysłem jest podejście do rozwiązywania problemów, myśląc najpierw o najważniejszych cechach problemu, z którym masz do czynienia. Czy problem występuje po otwarciu określonej aplikacji? Czy twój system zawiesza się i uruchamia ponownie za każdym razem, gdy pojawia się problem?

Kiedy pomyślisz o charakterystyce problemu, w naturalny sposób doprowadzi Cię to do jednych z najlepszych dzienników do zbierania informacji na ten temat. Na przykład, jeśli twój system ma problemy podczas procesu rozruchu, możesz uzyskać przydatne informacje, odwołując się do wpisów rozruchu w journald.

Wpisz następującą komendę, aby wydrukować wszystkie zarejestrowane rozruchy w dzienniku:

journalctl --list-boots

Terminal wydrukuje listę zarejestrowanych butów; najnowsze buty zostaną znalezione na dole listy. Spójrz na zarejestrowane daty i godziny dla każdego rozruchu, aż znajdziesz zarejestrowany rozruch, w którym wystąpił błąd.

Weź liczbę z lewej kolumny jako NUM i wprowadź następujące polecenie, aby uzyskać więcej informacji o rozruchu:

dziennikctl -b -LICZBA -n

Zostanie wyświetlony kompleksowy zapis informacji o rozruchu. Jeśli podczas procesu rozruchu wystąpiły jakieś nietypowe błędy, możesz użyć informacji z tego rekordu, aby zrobić krok dalej w ich rozwiązywaniu.

Ta sama zasada dotyczy wielu innych kwestii. Jeśli jednak nie wiesz zbyt wiele o problemie występującym na komputerze, może być trudno zdecydować, od czego zacząć. Istnieje kilka dzienników, które wyróżniają się jako szczególnie pomocne w szerokim zakresie problemów z systemami Ubuntu.

syslog to najlepszy dziennik do rozpoczęcia procesu rozwiązywania problemów. Ponieważ jest to w rzeczywistości dziennik globalny, bardzo prawdopodobne jest, że zawiera on informacje o problemie, z którym masz do czynienia. Jeśli masz problemy z uwierzytelnianiem (np sudo hasło nie działa błąd, na przykład) lub rozruchu, a następnie sprawdź dziennik autoryzacji Lub boot.log.

Przeszukaj najbardziej odpowiednie dzienniki ze słowami kluczowymi związanymi z Twoim problemem. Na przykład, jeśli masz problemy z uwierzytelnieniem, możesz pobrać rekordy z auth.log za pomocą następującego polecenia:

cat /var/log/auth.log | grep 'Błąd uwierzytelnienia'

W końcu na pewno znajdziesz informacje, które oferują doskonały wgląd. Łącząc informacje z dzienników błędów z badaniami w Internecie, bardzo prawdopodobne jest, że znajdziesz zasoby, które pomogą Ci szybko rozwiązać problemy z systemem.

Odwołaj się do zasobów online, aby rozwiązać problemy z błędami systemu Linux

Nie musisz przechodzić przez sam proces rozwiązywania problemów. Podczas zbierania informacji o problemie z komputerem należy skorzystać z zasobów internetowych, takich jak Poproś Ubuntu i szczegółowe przewodniki na MakeUseOf, aby zbliżyć się do ostatecznego zdiagnozowania i naprawy komputer.