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.confPodczas 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 timedatectlWynik 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ę:
dziennikaWynik 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 -bAby 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.