Утилита journalctl
— инструмент командной строки в Linux, используемый для запроса и просмотра лог-файлов Systemd. Благодаря этой команде, Вы можете вывести в терминал все сообщения, которые генерируются службами, приложениями, процессами и даже ядром Linux. Утилита journalctl
входит в набор инструментов Systemd, стандартной системы инициализации в большинстве современных дистрибутивов Linux.
Содержание:
- Просмотр файла настроек journald
- Просмотр всех сообщений из лог-файлов с помощью journalctl
- Получение номеров загрузки операционной системы
- Фильтрация сообщений лог-файлов по времени
- Просмотр последних сообщений журнала лог-файлов
- Вывод сообщений ядра, служб и процессов Linux
- Просмотр сообщений, сгенерированных файлами
- Фильтрация лог-файлов по приоритету сообщений
- Просмотр файлов журналов в режиме реального времени
- Форматирование вывода утилиты journalctl
- Проверка целостности файлов журналов в Linux
- Получение данных о размере всех лог-файлов в ОС
- Выводы
Просмотр файла настроек journald
Демон journald
— системная служба, отвечающая за сбор, хранение и управление данными журнала в Linux. Эта утилита также выполняет ротацию, сжатие и индексацию лог-файлов. По сути, journalctl
позволяет просматривать и фильтровать данные, собираемых journald
.
Инструмент journald
имеет свой файл настроек — /etc/systemd/journald.conf
. Он содержит различные параметры, которые позволяют настраивать работу службы journald
и управлять системными журналами. Чтобы вывести на экран содержимое этого файла, воспользуйтесь командой cat
:
По умолчанию, большинство параметров в файле настроек закомментированы. Чтобы вносить изменения в /etc/systemd/journald.conf
, используйте любой текстовый редактор, например, nano:
Вы можете узнать значения параметров из этого файла, выполнив следующую команду:
Читайте также: Как очистить или удалить файлы журнала в Linux или UNIX.
Просмотр всех сообщений из лог-файлов с помощью journalctl
Если Вам нужно отобразить в терминале сообщения из файлов журналов за все время работы ОС, выполните команду journalctl
без каких-либо опций:
Получение номеров загрузки операционной системы
Номер загрузки — идентификатор, присваиваемый каждому событию загрузки или запуска операционной системы. Опция --list-boots
выводит на экран список всех идентификаторов загрузки и различную информацию, связанную с ним:
- дата;
- время;
- порядковый номер и так далее.
Например:
Чтобы отобразить в терминале сообщения из лог-файлов, сгенерированных во время текущей загрузки ОС, используйте опцию -b
:
Для вывода сообщений из журналов из предыдущей загрузки, добавьте в предыдущую команду аргумент -1
:
Читайте также: 4 средства мониторинга и управления журналом Linux.
Вы также можете передать в качестве аргумента команде journalctl -b
определенный идентификатор загрузки, чтобы посмотреть данные из лог-файлов, относящихся к этой загрузке:
Фильтрация сообщений лог-файлов по времени
Утилита journalctl
позволяет вывести на экран данные из лог-файлов, начиная с определенной даты. Для решения этой задачи используется опция --since
, в качестве ее аргумента нужно передать дату и время. К примеру, выведем на экран сообщения, сгенерированные за вчера и сегодня:
Также извлечем сообщения, которые были сгенерированы с 1 января 2024 года:
Просмотр последних сообщений журнала лог-файлов
Для вывода последних 10 сообщений из журнальных файлов в терминале используется опция -n
с командой journalctl
. Вы можете указать в качестве аргумент этой опции количество строк с конца файла, которые следует отобразить в командной строке:
Вывод сообщений ядра, служб и процессов Linux
Опция -k
указывает инструменту вывести на экран только сообщения ядра Linux:
Для отображений лог-сообщений определенной службы, используйте параметр -u
с командой journalctl
и названием сервиса в качестве аргумента:
Читайте также: 5 советов по повышению производительности веб-сервера Apache.
Добавьте в предыдущую команду опцию -b
, чтобы увидеть сообщения службы за текущий сеанс работы ОС:
Чтобы просмотреть данные лог-файлов, сгенерированных определенным процессом, укажите его идентификатор в качестве значения для опции _PID
. Например:
Вы также можете просмотреть файлы журналов, созданных определенной группой пользователей. Для выполнения этой операции укажите идентификатор группы в качестве значения опции _UID
:
Просмотр сообщений, сгенерированных файлами
Файлы также могут создавать сообщения и записывать их в лог-файлы. К примеру, выведем на экран сообщения, сгенерированные /usr/bin/bash
:
Фильтрация лог-файлов по приоритету сообщений
Инструмент journalctl
позволяет выборочно просматривать сообщения журнала в зависимости от их уровня приоритета:
emerg
(0
) — самый высокий уровень приоритета, указывает на критические ошибки, которые нарушают корректное функционирование ОС;alert
(1
) — ошибки / проблемы, которые должны быть немедленно решены;crit
(2
) — события, требующие срочных действий для предотвращения нестабильности ОС;err
(3
) — не критические отказы или ошибки, влияющие на работу ОС или приложения, но не обязательно приводящие к критическому сбою;warning
(4
) — события, которые могут привести к потенциальным проблемам, если их не устранить;notice
(5
) — обычные, но значимые события, которые могут быть интересны администраторам или пользователям;info
(6
) — сообщения, которые предоставляют общую информацию о событиях или операциях в ОС;debug
(7
) — сообщения отладки, которые используются для диагностических целей и предоставляют подробную информацию о процессах, операциях или событиях в ОС.
Чтобы вывести на экран сообщения, определенного уровня приоритета, примените опцию -p
с названием приоритета или его номером. Например:
Вы можете отфильтровать вывод журнала, отображая только сообщения с уровнями приоритета из определенного диапазона. Чтобы отобразить в терминале сообщения с уровнями приоритета от 1 до 4 включительно, выполните следующую команду:
Читайте также: Проблема (ошибка ядра Linux): you may need to re-run your boot loader[grub].
Просмотр файлов журналов в режиме реального времени
Работающие приложения, файлы, службы постоянно генерируют сообщения и записывают их в лог-файлы. Чтобы отслеживать их в режиме реального времени, используйте опцию -f
:
Форматирование вывода утилиты journalctl
Чтобы изменить формат вывода данных утилиты journalctl
, примените опцию -o
и укажите в качестве ее аргумента один из следующих параметров: short
, short-full
, short-iso
, short-iso-precise
, short-precise
, short-monotonic
, short-delta
, short-unix
, verbose
, export
, json
, json-pretty
, json-sse
, json-seq
, cat
, with-unit
.
Например:
Проверка целостности файлов журналов в Linux
Опция --verify
инструмента journalctl
проверяет целостность файлов журналов Systemd, анализируя их контрольные суммы:
Получение данных о размере всех лог-файлов в ОС
Файлы журналов хранятся в ОС и, соответственно, занимают определенное дисковое пространство. Вы можете узнать, какой размер имеют все лог-файлы вместе взятые. Для этого используйте опцию --disk-usage
:
Читайте также: Команда df в Linux с примерами.
Чтобы получить более подробную информацию о journalctl
, выполните следующую команду:
Выводы
Теперь Вы умеете использовать команду journalctl
для просмотра лог-файлов в операционной системе Linux. Мы разобрали несколько примеров выполнения этой утилиты, которые помогут Вам анализировать сообщения из файлов журналов приложений, процессов, ядра Linux и так далее.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
Доброго здравия! Прошу ответить знающих людей по D-bus в Windows, c целью получения log сообщений из системы.