Zarządzaj dziennikami zdarzeń Systemd za pomocą Journalctl Linux

Kiedy zarządzamy systemami operacyjnymi Linux istnieją setki procesów, które musimy stale przeglądać, aby utrzymać najlepszy poziom usług na serwerach lub komputerach klienckich. W środowiskach linuksowych znajdziemy Systemd, który jest innowacyjnym systemem pozwalającym na zbieranie informacji o równoległych procesach podczas uruchamiania systemu operacyjnego.

Systemd jest obecny w większości dystrybucji Linuksa, takich jak Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS i innych. Dzięki Systemd mamy możliwość centralnego zarządzania wszystkimi usługami i procesami systemu. Do tej analizy użyjemy CentOS 7.

1. Konfigurowanie dziennika do zbierania dzienników systemowych


Zasadniczo dziennik jest odpowiedzialny za zbieranie i zapisywanie codziennych danych wejściowych systemu operacyjnego, takich jak między innymi komunikaty startowe, komunikaty jądra, komunikaty syslog, logi aplikacji. Wszystkie informacje w Journald znajdują się w ścieżce /etc/systemd/journald.conf, a wartości tam zapisane są zgodne z lokalnymi wymaganiami systemowymi.

Prostym sposobem wizualizacji zawartości tej trasy jest wykonanie następującej linii z parametrem cat:

 kot /etc/systemd/journald.conf

2. Włącz dziennik w pamięci dyskowej


Większość dystrybucji Linuksa nie zezwala na przechowywanie trwałych wiadomości w ich systemie rozruchowym w celu zbierania informacji o tym rozruchu.

Aby włączyć ten dziennik, konieczne będzie uzyskanie dostępu do ścieżki / var / log / journal i edycja tam wiersza Storage. Aby uzyskać tam dostęp, użyjemy edytorów takich jak nano lub vi w następujący sposób:

 sudo vi /etc/systemd/journald.conf sudo nano /etc/systemd/journald.conf
Podczas uzyskiwania dostępu do tego pliku zobaczymy:

Tam zmodyfikujemy wiersz Storage z wartości auto na wartość trwałą:

Zapisz zmianyZapisujemy zmiany za pomocą klawiszy Ctrl + O i wychodzimy z edytora za pomocą Ctrl + X.

Aby uzyskać szczegółowe informacje o każdym z elementów Dziennika możemy wykonać następującą linię:

 człowiek journald.conf

3. Ustawianie daty i godziny za pomocą Timedatectl


Ten aspekt jest ważny, ponieważ dzięki prawidłowej konfiguracji daty i godziny zapisy będą znacznie bardziej wiarygodne i dokładne.

Aby wyświetlić aktualną datę i godzinę, wykonamy jedną z następujących linii:

 timedatectl status timedatectl
Wynik będzie następujący:

W przypadku ustawienia innej strefy czasowej zastosujemy następującą składnię:

 sudo timedatectl set-timezone (miasto / kraj) sudo timedatectl set-time "HH: MM: SS"

4. Przeglądaj wiadomości z dzienników za pomocą Journalctl


Polecenie journalctl to narzędzie zawarte w systemie Linux, które pozwala nam zobaczyć zawartość systemd. Aby wyświetlić wszystkie rekordy bez filtrowania, wykonamy następującą linię:
 dziennika
Wynik będzie następujący:

Teraz oto filtry, których możemy używać z Journalctl:

Filtry rozruchoweTen filtr pozwala nam wyświetlać między innymi numery rozruchowe, ich identyfikatory, ich znaczniki czasu.
W tym celu użyjemy parametru --list-boots:

 journalctl --list-boots

Jeśli chcemy zobaczyć rekordy z bieżącego rozruchu, użyjemy następującej linii:

 journalctl -b
Aby zobaczyć poprzednie rekordy użyjemy następującej linii:
 dziennikctl -b -1

Filtry oparte na czasieDzięki temu filtrowi możemy skorzystać z formatu UTC (Coordinated Universal Time - Coordinated Universal Time) za pomocą parametru -utc:

 journalctl -utc

Dodatkowo możemy dodać filtry w następujący sposób:

 journalctl --since "2017-07-02 08:30:00" (Wyświetla wyniki ze wskazanej daty) journalctl --since dzisiaj (Wyświetla wyniki z bieżącego dnia) journalctl --since wczoraj (Wyświetla wyniki z bieżący dzień poprzedni)

Zobacz najnowsze wydarzeniaDomyślną wartością używaną przez Journalctl jest 10 rekordów, ale jeśli użyjemy parametru -n, możemy wskazać mniejszą lub większą ilość.

 dziennikctl -n 5

Zobacz zdarzenia generowane przez kernelAby wyświetlić komunikaty generowane przez jądro, użyjemy parametru -k w następujący sposób:

 journalctl -k

W ten sam sposób mamy następujące opcje:

  • Zobacz wydarzenia według jednostek:
     journalctl -u (usługa)
  • Zobacz zdarzenia według procesów:
     journalctl _PID = (# PID), journalctl _PID = (PID) --od dzisiaj, journalctl _PID = (PID) --od wczoraj
  • Wyświetl zdarzenia według identyfikatora użytkownika lub grupy:
     dziennikctl _UID = 1000
  • Zobacz zdarzenia wygenerowane przez konkretny plik:
     journalctl / usr / bin / bash
  • Zobacz zdarzenia według priorytetu: journalctl -p (Kod lub termin), dostępne opcje to:
     0 - alarm, 1 - alert, 2 - crit, 3 - błąd, 4 - ostrzeżenie, 5 - uwaga, 6 - info, 7 - debug

W ten sposób Journalctl oferuje wiele praktycznych rozwiązań do realizacji tego zadania.

wave wave wave wave wave