Как использовать Journalctl для чтения системных журналов Linux

Как использовать Journalctl для чтения системных журналов Linux
⏱️ 1 min read

В течение многих лет системные журналы и журналы ядра обрабатывались утилитой под названием syslogd. Большинство операционных систем на основе Linux перешли на systemd, который поставляется с другим демоном журнала, journald. Для взаимодействия с этими журналами используется утилита journalctl.

Дайте пользователю разрешение на чтение системных журналов

Только пользователи, принадлежащие к группам «adm» или «systemd-journal», могут читать журналы systemd. Такие дистрибутивы, как Ubuntu, уже добавляют вас в качестве пользователя в группу adm.

Откройте эмулятор терминала и введите следующую команду:

groups

журналctl-группы

Если вы видите в выводе «adm» или «systemd-journal», вы можете пропустить остальные шаги в этом разделе. В противном случае добавьте себя в группу «adm».

sudo adduser $USER adm

Вам придется перезапустить сеанс входа в систему, чтобы это изменение вступило в силу (выйдите из системы и войдите в систему). Если вы не можете этого сделать по разным причинам, используйте эту команду для входа в новую группу без перезапуска графического сеанса.

newgrp adm

Не закрывайте окно терминала. Теперь вы являетесь частью группы администраторов — в сеансе терминала, но не в графическом сеансе. Если вы откроете новый терминал в это время, ваш пользователь больше не будет входить в группу adm.

Проверьте, является ли журнал постоянным

Журналы systemd могут быть постоянными или изменчивыми. В Ubuntu и других дистрибутивах они сохраняются по умолчанию. В Debian 9 они изменчивы, то есть хранятся только в памяти (не на диске) и исчезают при завершении работы или перезагрузке. Введите следующую команду.

journalctl --list-boots

журналctl-список-ботинки

Если здесь несколько записей, вам больше ничего не нужно делать. Это означает, что журналы хранятся на диске (постоянно). Если вы получаете только одну запись, то журнал нестабилен. Измените его на постоянный.

sudo sed -i '/Storage/ c\Storage=persistent' /etc/systemd/journald.conf

Выберите журнал загрузочных записей для просмотра

Обычно вам нужно просмотреть журнал текущей загрузки. В редких случаях вы захотите увидеть предыдущую загрузку, когда что-то пошло не так, например, после сбоя системы.

Чтобы просмотреть журнал для текущей загрузки:

journalctl -b 0

журналctl-просмотр-текущая-загрузка

Для предыдущей загрузки используйте «-1» вместо «0», а для двух бутов назад «-2» и так далее.

journalctl -b -1

Навигация и поиск в системном журнале

После того, как вы откроете журнал с помощью journalctl, вы можете перемещаться по тексту с помощью клавиш со стрелками и СТРАНИЦА ВВЕРХ или же ЛИСТАТЬ ВНИЗ ключи. Другие полезные клавиши:

  • > чтобы перейти к концу вывода.
  • < перейти к началу вывода.
  • / для поиска строки текста. После того, как вы нажмете клавишу косой черты, введите строку, которую вы хотите найти, а затем Войти. Строка чувствительна к регистру, поэтому «сеть» не найдет строки «Сеть». Поиск начинается с текущей позиции просмотра вниз. Для поиска вверх используйте ?.
  • н найти следующее совпадение в текущем поиске. Н находит предыдущий.
  • д завершает работу утилиты journalctl.

журналctl-поиск

Фильтрация записей журнала по приоритету

Иногда вы хотите искать только ошибки, игнорируя уведомления и сообщения о состоянии. Каждая запись в журнале имеет приоритет: аварийная ситуация, предупреждение, критическая ошибка, предупреждение, уведомление, информация. Они перечислены в порядке важности, чрезвычайные ситуации зарезервированы для наихудших сценариев (система непригодна для использования). Информационные сообщения — это просто информационный текст, сообщающий о состоянии нормально работающих программ.

Чтобы отображались только сообщения об ошибках текущей загрузки, введите:

journalctl -b 0 -p err

журналctl-фильтр-ошибки

Если вы хотите видеть ошибки со всех загрузок, просто удалите параметр «-b»:

journalctl -p err

Вот коды, которые вы можете передать параметру «-p»:

  • тревога
  • крит
  • отлаживать
  • появляться
  • ошибаться
  • Информация
  • уведомление
  • предупреждение

Фильтрация записей журнала по пути к исполняемому файлу процесса или системному модулю

Некоторые процессы запускаются и управляются так называемыми модулями systemd. Чтобы просмотреть все журналы, связанные с модулем службы cron, введите:

journalctl -u cron.service

Вы можете увидеть, какие юниты у вас есть в наличии:

systemctl list-dependencies

журналctl-список-зависимостей

Вы можете перемещаться по списку с помощью клавиш со стрелками вверх и вниз. Нажимать д бросить.

Если вы предпочитаете использовать путь к исполняемому файлу программы (двоичному), просто передайте его полный путь в качестве аргумента.

journalctl /usr/sbin/cron

Не забывайте, что вы также можете фильтровать текущую загрузочную запись, чтобы избавиться от ненужных сообщений.

journalctl -b 0 /usr/sbin/cron

Вывод

Journalctl стремится упростить поиск того, что вы ищете. Если вы хотите узнать о дополнительных параметрах, которые вы можете использовать, обратитесь к страница руководства по командам journalctl.

Join our Newsletter and receive offers and updates! ✅

0 0 голоса
Article Rating
Аватар Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Подписаться
Уведомить о
guest
0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x