Команда journalctl в Linux с примерами

Команда journalctl в Linux с примерами

Рубрики:

Linux, SystemD

Метки:

, ,

Утилита journalctl — инструмент командной строки в Linux, используемый для запроса и просмотра лог-файлов Systemd. Благодаря этой команде, Вы можете вывести в терминал все сообщения, которые генерируются службами, приложениями, процессами и даже ядром Linux. Утилита journalctl входит в набор инструментов Systemd, стандартной системы инициализации в большинстве современных дистрибутивов Linux.

Содержание:

  1. Просмотр файла настроек journald
  2. Просмотр всех сообщений из лог-файлов с помощью journalctl
  3. Получение номеров загрузки операционной системы
  4. Фильтрация сообщений лог-файлов по времени
  5. Просмотр последних сообщений журнала лог-файлов
  6. Вывод сообщений ядра, служб и процессов Linux
  7. Просмотр сообщений, сгенерированных файлами
  8. Фильтрация лог-файлов по приоритету сообщений
  9. Просмотр файлов журналов в режиме реального времени
  10. Форматирование вывода утилиты journalctl
  11. Проверка целостности файлов журналов в Linux
  12. Получение данных о размере всех лог-файлов в ОС
  13. Выводы

Просмотр файла настроек journald

Демон journald — системная служба, отвечающая за сбор, хранение и управление данными журнала в Linux. Эта утилита также выполняет ротацию, сжатие и индексацию лог-файлов. По сути, journalctl позволяет просматривать и фильтровать данные, собираемых journald.

Инструмент journald имеет свой файл настроек/etc/systemd/journald.conf. Он содержит различные параметры, которые позволяют настраивать работу службы journald и управлять системными журналами. Чтобы вывести на экран содержимое этого файла, воспользуйтесь командой cat:

 

cat conf journald

По умолчанию, большинство параметров в файле настроек закомментированы. Чтобы вносить изменения в /etc/systemd/journald.conf, используйте любой текстовый редактор, например, nano:

 

change parameter

Вы можете узнать значения параметров из этого файла, выполнив следующую команду:

 

Читайте также: Как очистить или удалить файлы журнала в Linux или UNIX.

Просмотр всех сообщений из лог-файлов с помощью journalctl

Если Вам нужно отобразить в терминале сообщения из файлов журналов за все время работы ОС, выполните команду journalctl без каких-либо опций:

 

journalctl

Получение номеров загрузки операционной системы

Номер загрузки — идентификатор, присваиваемый каждому событию загрузки или запуска операционной системы. Опция --list-boots выводит на экран список всех идентификаторов загрузки и различную информацию, связанную с ним:

  • дата;
  • время;
  • порядковый номер и так далее.

Например:

 

list boots

Чтобы отобразить в терминале сообщения из лог-файлов, сгенерированных во время текущей загрузки ОС, используйте опцию -b:

 

current boot logs

Для вывода сообщений из журналов из предыдущей загрузки, добавьте в предыдущую команду аргумент -1:

 

previous boot logs

Читайте также: 4 средства мониторинга и управления журналом Linux.

Вы также можете передать в качестве аргумента команде  journalctl -b определенный идентификатор загрузки, чтобы посмотреть данные из лог-файлов, относящихся к этой загрузке:

 

certain boot logs

Фильтрация сообщений лог-файлов по времени

Утилита journalctl позволяет вывести на экран данные из лог-файлов, начиная с определенной даты. Для решения этой задачи используется опция --since, в качестве ее аргумента нужно передать дату и время. К примеру, выведем на экран сообщения, сгенерированные за вчера и сегодня:

 

journalctl since yesterday

Также извлечем сообщения, которые были сгенерированы с 1 января 2024 года:

 

journalctl since date

Просмотр последних сообщений журнала лог-файлов

Для вывода последних 10 сообщений из журнальных файлов в терминале используется опция -n с командой journalctl. Вы можете указать в качестве аргумент этой опции количество строк с конца файла, которые следует отобразить в командной строке:

 

last lines

Вывод сообщений ядра, служб и процессов Linux

Опция -k указывает инструменту вывести на экран только сообщения ядра Linux:

 

kernel messages

Для отображений лог-сообщений определенной службы, используйте параметр -u с командой journalctl и названием сервиса в качестве аргумента:

 

apache logs journalctl

Читайте также: 5 советов по повышению производительности веб-сервера Apache.

Добавьте в предыдущую команду опцию -b, чтобы увидеть сообщения службы за текущий сеанс работы ОС:

 

apache logs journalctl current boot

Чтобы просмотреть данные лог-файлов, сгенерированных определенным процессом, укажите его идентификатор в качестве значения для опции _PID. Например:

 

journalctl pid

Вы также можете просмотреть файлы журналов, созданных определенной группой пользователей. Для выполнения этой операции укажите идентификатор группы в качестве значения опции _UID:

 

journalctl uid

Просмотр сообщений, сгенерированных файлами

Файлы также могут создавать сообщения и записывать их в лог-файлы. К примеру, выведем на экран сообщения, сгенерированные /usr/bin/bash:

 

journalctl file logs

Фильтрация лог-файлов по приоритету сообщений

Инструмент journalctl позволяет выборочно просматривать сообщения журнала в зависимости от их уровня приоритета:

  • emerg (0) — самый высокий уровень приоритета, указывает на критические ошибки, которые нарушают корректное функционирование ОС;
  • alert (1) — ошибки / проблемы, которые должны быть немедленно решены;
  • crit (2) — события, требующие срочных действий для предотвращения нестабильности ОС;
  • err (3) — не критические отказы или ошибки, влияющие на работу ОС или приложения, но не обязательно приводящие к критическому сбою;
  • warning (4) — события, которые могут привести к потенциальным проблемам, если их не устранить;
  • notice (5) — обычные, но значимые события, которые могут быть интересны администраторам или пользователям;
  • info (6) — сообщения, которые предоставляют общую информацию о событиях или операциях в ОС;
  • debug (7) — сообщения отладки, которые используются для диагностических целей и предоставляют подробную информацию о процессах, операциях или событиях в ОС.

Чтобы вывести на экран сообщения, определенного уровня приоритета, примените опцию -p с названием приоритета или его номером. Например:

 

error messages

Вы можете отфильтровать вывод журнала, отображая только сообщения с уровнями приоритета из определенного диапазона. Чтобы отобразить в терминале сообщения с уровнями приоритета от 1 до 4 включительно, выполните следующую команду:

 

range of statuses

Читайте также: Проблема (ошибка ядра Linux): you may need to re-run your boot loader[grub].

Просмотр файлов журналов в режиме реального времени

Работающие приложения, файлы, службы постоянно генерируют сообщения и записывают их в лог-файлы. Чтобы отслеживать их в режиме реального времени, используйте опцию -f:

 

real time journalctl

Форматирование вывода утилиты 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.

Например:

 

formating output

Проверка целостности файлов журналов в Linux

Опция --verify инструмента journalctl проверяет целостность файлов журналов Systemd, анализируя их контрольные суммы:

 

journalctl verify start

Получение данных о размере всех лог-файлов в ОС

Файлы журналов хранятся в ОС и, соответственно, занимают определенное дисковое пространство. Вы можете узнать, какой размер имеют все лог-файлы вместе взятые. Для этого используйте опцию --disk-usage:

 

log file disk usage

Читайте также: Команда df в Linux с примерами.

Чтобы получить более подробную информацию о journalctl, выполните следующую команду:

 

man journalctl

Выводы

Теперь Вы умеете использовать команду journalctl для просмотра лог-файлов в операционной системе Linux. Мы разобрали несколько примеров выполнения этой утилиты, которые помогут Вам анализировать сообщения из файлов журналов приложений, процессов, ядра Linux и так далее.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, SystemD

Метки:

, ,

Больше похожих постов

1 комментарий. Оставить новый

  • Доброго здравия! Прошу ответить знающих людей по D-bus в Windows, c целью получения log сообщений из системы.

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню