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

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

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

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

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

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

groups

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

Если ты видишь "адм"Или же"системный журналВ выводе вы можете пропустить остальные шаги в этом разделе. В противном случае добавьте себя в группу ».адм».

sudo adduser $USER adm

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

newgrp adm

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

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

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

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

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

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

Для просмотра выберите «Любая запись загрузочной записи».

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

Чтобы просмотреть историю текущей загрузки:

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

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

journalctl -b -1

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

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

> Перейти в конец вывода.

< Перейти к началу вывода.

/ Для поиска строки текста. После нажатия косой черты введите строку, которую вы хотите найти, а затем нажмите Enter. Строка чувствительна к регистру, поэтому NETWORK не найдет строки NETWORK. Поиск начинается с текущей позиции просмотра вниз. Для поиска выше используйте?

n Чтобы найти следующее совпадение в текущем поиске. N находит первое.

q Закройте утилиту journalctl.

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

Фильтровать записи журнала по приоритету

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

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

journalctl -b 0 -p err

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

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

journalctl -p err

Это символы, которые можно передать параметру »-p«:

  • бдительный
  • критика
  • отлаживать
  • Экстрен
  • заблуждаться
  • info
  • уведомление
  • предупреждение

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

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

journalctl -u cron.service

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

systemctl list-dependencies

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

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

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

journalctl /usr/sbin/cron

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

journalctl -b 0 /usr/sbin/cron

Заключение

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

Перейти к верхней кнопке