Утилита 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 сообщений из системы.