Dowiedz się, jak łatwo sprawdzić dzienniki Linuksa w tym artykule z naszych archiwów.

w pewnym momencie swojej kariery jako administratora Linuksa będziesz musiał przeglądać pliki dziennika. W końcu są tam dla jednego bardzo ważnego reason…to pomóż rozwiązać problem. W rzeczywistości każdy doświadczony administrator natychmiast powie Ci, że pierwszą rzeczą do zrobienia, gdy pojawi się problem, jest przeglądanie dzienników.,

i jest wiele dzienników do znalezienia: dzienniki dla systemu, dzienniki dla jądra, dla menedżerów pakietów, dla Xorg, dla procesu rozruchowego, dla Apache, dla MySQL… prawie wszystko, co możesz wymyślić, jest plik dziennika.

większość plików dziennika znajduje się w jednej dogodnej lokalizacji: /var/log. Są to wszystkie dzienniki systemu i usług, na których będziesz się mocno opierać, gdy wystąpi problem z systemem operacyjnym lub jedną z głównych usług. W przypadku problemów związanych z aplikacjami komputerowymi pliki dziennika będą zapisywane w różnych lokalizacjach (np. Thunderbird pisze raporty o awariach do '~/.,thunderbird / Crash Reports”). Gdzie aplikacja desktopowa będzie pisać dzienniki zależy od dewelopera i czy aplikacja pozwala na niestandardową konfigurację dziennika.

skupimy się na logach systemowych, ponieważ tam leży serce rozwiązywania problemów z Linuksem. A kluczową kwestią jest to, jak przeglądasz te pliki dziennika?

na szczęście istnieje wiele sposobów przeglądania dzienników systemowych, wszystkie po prostu wykonywane z linii poleceń.

/var/log

jest to bardzo ważny folder na Twoich systemach Linux. Otwórz okno terminala i wydaj polecenie cd/var / log., Teraz wydaj polecenie ls, a zobaczysz logi znajdujące się w tym katalogu (Rysunek 1).

Rysunek 1: Lista plików dziennika znalezionych w /var/log/.

teraz rzućmy okiem na jeden z tych dzienników.

przeglądanie logów z mniejszą ilością

jednym z najważniejszych logów zawartych w/var / log jest syslog. Ten konkretny plik dziennika rejestruje wszystko z wyjątkiem wiadomości związanych z auth. Powiedzmy, że chcesz wyświetlić zawartość tego konkretnego pliku dziennika., Aby to zrobić, możesz szybko wydać polecenie less / var/log / syslog. To polecenie otworzy plik dziennika syslog na górze. Następnie możesz użyć klawiszy strzałek, aby przewijać w dół jedną linię na raz, spacji, aby przewijać w dół jedną stronę na raz, lub kółka myszy, aby łatwo przewijać plik.

jedynym problemem w tej metodzie jest to, że syslog może rosnąć dość duży; i biorąc pod uwagę, że to, czego szukasz, najprawdopodobniej będzie na dole lub w pobliżu, możesz nie chcieć spędzać czasu na przewijaniu linii lub strony, aby osiągnąć ten koniec., Czy syslog otworzy się w poleceniu less, możesz również nacisnąć kombinację+, aby natychmiast przejść do końca pliku dziennika. Koniec będzie oznaczony przez (END). Następnie możesz przewijać w górę za pomocą klawiszy strzałek lub kółka przewijania, aby znaleźć dokładnie to, co chcesz.

To oczywiście nie jest zbyt wydajne.

przeglądanie logów za pomocą dmesg

polecenie dmesg wyświetla bufor pierścienia jądra. Domyślnie polecenie wyświetli wszystkie wiadomości z bufora pierścienia jądra. W oknie terminala wydaj polecenie dmesg i wydrukuje się cały bufor pierścienia jądra (Rysunek 2).,

Rysunek 2: zewnętrzny dysk USB wyświetlający problem, który może wymagać zbadania.

na szczęście istnieje wbudowany mechanizm sterowania, który pozwala wydrukować tylko niektóre udogodnienia (takie jak demon).

powiedz, że chcesz wyświetlić wpisy dziennika dla obiektu użytkownika. Aby to zrobić, wydaj polecenie dmesg-facility=user. Jeśli cokolwiek zostało zalogowane w tej placówce, zostanie wydrukowane.,

W przeciwieństwie do polecenia less, wydanie dmesg wyświetli pełną zawartość dziennika i wyśle cię na koniec pliku. Zawsze możesz użyć kółka przewijania, aby przeglądać bufor okna terminala (jeśli dotyczy). Zamiast tego, będziesz chciał przekierować wyjście dmesg do polecenia less w następujący sposób:

dmesg | less

powyższe polecenie wydrukuje zawartość dmesg i pozwoli Ci przewijać Wyjście tak, jak to zrobiłeś przeglądając standardowy dziennik za pomocą polecenia less.,

przeglądanie logów za pomocą tail

polecenie tail jest prawdopodobnie jednym z najbardziej poręcznych narzędzi, które masz do dyspozycji do przeglądania plików logów. Tail wyświetla ostatnią część plików. Tak więc, jeśli wydasz polecenie tail / var / log / syslog, wydrukuje tylko kilka ostatnich linii pliku syslog.

ale czekaj, zabawa nie kończy się na tym. Polecenie tail ma bardzo ważną sztuczkę w rękawie, za pomocą opcji-f. Kiedy wydasz polecenie tail – f/var/log / syslog, tail będzie nadal obserwować plik dziennika i wydrukować następny wiersz zapisany do pliku., Oznacza to, że możesz śledzić to, co jest napisane do syslog, tak jak to się dzieje, w oknie terminala (Rysunek 3).
Rysunek 3: Following/var/log / syslog using the tail command.

używanie tail w ten sposób jest nieocenione w rozwiązywaniu problemów.

aby uciec od polecenia tail (gdy podążasz za plikiem), naciśnij kombinację+.

Możesz również poinstruować tail, aby podążał tylko za określoną ilością linii., Powiedzmy, że chcesz zobaczyć tylko pięć ostatnich linii zapisanych do syslog; w tym celu możesz wydać polecenie:

tail -f -n 5 /var/log/syslog

powyższe polecenie podąża za wejściem do syslog i wypisuje tylko ostatnie pięć linii. Jak tylko nowa linia zostanie zapisana do syslog, usunie najstarszą z góry. Jest to świetny sposób, aby proces śledzenia pliku dziennika był jeszcze łatwiejszy. Zdecydowanie polecam nie używać tego do przeglądania niczego mniej niż cztery lub pięć linii, jak skończysz się wejście odcięte i nie otrzyma pełne szczegóły wpisu.,

istnieją inne narzędzia

znajdziesz wiele innych poleceń (a nawet kilka przyzwoitych narzędzi GUI), które umożliwiają przeglądanie plików dziennika. Zobacz więcej, grep, head, cat, multitail i System Log Viewer, aby pomóc ci w rozwiązywaniu problemów z systemami za pomocą plików dziennika.

Rozwijaj swoją karierę dzięki umiejętnościom administrowania systemem Linux. Sprawdź kurs Essentials of System Administration z Linux Foundation.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *