Просмотр журналов с помощью journalctl
На предыдущих шагах вы узнали о кольцевом буфере ядра и о том, как просматривать его содержимое с помощью команды dmesg
. Хотя dmesg
отлично подходит для просмотра сообщений ядра, современные системы Linux используют более комплексную систему логирования, называемую systemd-journald
. Команда journalctl
является основным инструментом для взаимодействия с журналом systemd-journald
.
systemd-journald
собирает журнальные сообщения из различных источников, включая ядро (как те сообщения, которые вы видели с помощью dmesg
), системные сервисы, приложения и даже стандартный вывод и стандартную ошибку процессов. Он хранит эти журналы в структурированном, проиндексированном формате, что упрощает поиск и фильтрацию сообщений.
Давайте рассмотрим команду journalctl
.
Если терминал еще не открыт, откройте его.
Введите следующую команду и нажмите Enter:
journalctl
Эта команда отобразит все журнальные сообщения, собранные systemd-journald
. Как и в случае с dmesg
, вывод может быть очень длинным и обычно автоматически передается в постраничный просмотрщик, например, less
.
-- Journal begins at Tue 2024-07-23 10:00:00 UTC, ends at Tue 2024-07-23 10:30:00 UTC. --
Jul 23 10:00:01 hostname systemd[1]: Starting Network Manager...
Jul 23 10:00:02 hostname kernel: Linux version 5.15.0-xx-generic (...)
Jul 23 10:00:03 hostname systemd[1]: Started Network Manager.
Jul 23 10:00:04 hostname systemd[1]: Starting OpenSSH server daemon...
...
Вы можете использовать стрелки на клавиатуре для прокрутки и нажать q
для выхода из постраничного просмотрщика.
У команды journalctl
есть множество опций для фильтрации журналов. Вот несколько примеров:
Для просмотра только сообщений ядра (аналогично dmesg
):
journalctl -k
Для просмотра журналов определенного сервиса, например, сервиса SSH:
journalctl -u ssh.service
Для просмотра журналов с определенного времени, например, с "сегодня":
journalctl --since "today"
Для просмотра самых свежих журналов и отслеживания новых сообщений по мере их поступления (как tail -f
):
journalctl -f
Нажмите Ctrl+C
для выхода из команды journalctl -f
.
journalctl
- это мощный инструмент для системного администрирования и устранения неполадок. Он предоставляет централизованное место для хранения журналов и гибкие опции для их просмотра и фильтрации.
Попробуйте некоторые из опций journalctl
в своем терминале, чтобы увидеть, как они влияют на вывод.
Нажмите Продолжить, чтобы завершить этот практический урок.