Poza syslogiem RHEL7 oferuje dodatkowe narzędzie do przeglądania i zarządzania logami – Journal – zaimplementowany przez demon journald. Demon przechowuje komunikaty w postaci binarnej w plikach zwanych dziennikami (journals), zlokalizowanymi w katalogu /var/run/journal.
Przeglądanie wszystkich komunikatów systemu od ostatniego rebootu:
# journalctl
Format strukturyzowany:
# journalctl -o verbose
Wyświetlenie tylko 3 linii logów:
# journalctl –n 3
Wyświetlenie wszystkich komunikatów od ostatniego rebootu. Jeżeli dodatkowo dodamy -0 lub -1 czy -2 to wyświetlone zostaną komunikaty od poprzednih rebootów.
# journalctl –b
Wyświetlenie tylko komunikatów wygenerowanych przez kernel od ostatniego rebootu:
# journalctl –k –b –0
Wyświetlenie komunikatów generowanych tylko przez konkretny demon, np. przez crond:
# journalctl /sbin/crond
Wyświetlenie wszystkich komunikatów generowanych przez konkretny proces np. PID 1374:
# journalctl _PID=1374
Wyświetlenie komunikatów wygenerowanych przez konkretny unit:
# journalctl _SYSTEM_UNIT=sshd
Wyświetlenie komunikatów z konkretnego zakresu czasowego, komunikaty z errorami:
# journalctl --since 2014-09-04 --until 2014-09-05 –p err
Komunikaty ze wszystkimi warningami, które pojawily się dzisiaj.
Można określić konkretny zakres czasu w formacie hh:mm:ss lub yesterday, today, tomorrow.
# journalctl --since=today –p warning
Do wyświetlenia komunikatów dotyczących konkretnego unitu podajemy jego nazwę po opcji -u:
# journalctl -u httpd
Przeglądanie logów w czasie rzeczywistym podobnie jak w tail z opcją -f (w moim CentoOSie ta opcja nie działa):
# journalctl –f
Trwałe przechowywanie logów journala.
Domyślnie dzienniki składowane są w katalogu /run/log/journal, który jest system plików składowanym w pamięci operacyjnej a więc dane nie będą dostępne po reboocie systemu. Możemy włączyć składowanie danych przez journald w sposób trwały w katalogu /var/log/journal:
# mkdir –p /var/log/journal
# systemctl restart systemd-journald
# ll /var/log/journal
drwxr-xr-x 2 root root 27 04-08 13:27 662a75de83ac4f48b32e361141f65571
Po restarcie journal składowany jest w pliku o takiej samej nazwie jak 128-bitowy unikalny ID naszej maszyny:
# cat /etc/machine-id
662a75de83ac4f48b32e361141f65571