Сообщения журнала важны для аудита и поддержания работоспособности системы Linux. Каждый компьютер Linux хранит сообщения журнала для различных служб или заданий. В этом руководстве вы узнаете, как читать и анализировать сообщения журнала с помощью journalctl, инструмент командной строки для чтения сообщений журнала, написанных журнал.

Что такое journald?

Journald - это системная служба ведения журнала, которая объединяет сообщения журнала в журнал. Это часть демона systemd, который отвечает за регистрацию событий в Linux. Журнал - это просто двоичный файл, используемый для хранения сообщений журнала, созданных journald.

Сообщения журнала журнала не являются постоянными, потому что они хранятся в оперативной памяти, которая является энергозависимой формой хранения. По умолчанию журналы journald теряются или стираются всякий раз, когда ваш компьютер перезагружается или теряет питание. Linux выделяет фиксированный объем оперативной памяти для журналов журналов, чтобы избежать засорения системной памяти.

instagram viewer

Как использовать команду journalctl

Вы можете использовать journalctl для запроса журнала systemd или журналов journald. Система индексирует все журналы журнала, чтобы повысить эффективность чтения сообщений журнала из журнала.

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

Просмотреть все сообщения журнала

Чтобы просмотреть все журналы journald, просто запустите команду journalctl без аргументов:

sudo journalctl

Команда journalctl выведет список всех журналов journald в вашей системе в хронологическом порядке. Команда использует меньше в фоновом режиме, что дает вам те же возможности навигации, что и при использовании команды less. Например, вы можете перемещаться по журналам, используя F и B клавиши на клавиатуре.

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

sudo journalctl -r

Просмотр журналов Kernel journald

Журналы ядра очень важны в Linux, потому что они содержат информацию, относящуюся к вашей системе с момента ее загрузки. Чтобы просматривать только журналы ядра, укажите -k флаг с помощью команды journalctl:

sudo journalctl -k

В выводе также будет указана некоторая информация о ядре, такая как версия ядра и его имя.

Связанный: Что такое ядро ​​в Linux и как проверить свою версию?

Фильтрация журналов journald по определенной программе

Вы также можете просматривать журналы, относящиеся к определенной программе или службе, с помощью journalctl. Например, чтобы просмотреть журналы, связанные с cron service, выполните команду ниже:

sudo journalctl -u cron

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

Иногда вам может потребоваться просматривать журналы в режиме реального времени по мере их записи. Для этого введите следующую команду:

sudo journalctl -f

Использовать Ctrl + C сочетание клавиш для выхода из режима просмотра в реальном времени.

Получить сообщения журнала по дате

Вы можете использовать journalctl для фильтрации и анализа журналов с использованием отметки времени. Например, чтобы отобразить журналы со вчерашнего дня до настоящего момента:

sudo journalctl --since = вчера

Вы можете быть более конкретными, используя подробную временную метку «с» и «до», как показано ниже:

sudo journalctl --since = "2021-07-17 12:00:00" --until = "2021-07-17 15:00:00"

Journalctl будет отображать сообщения журнала только за указанный период.

Просмотр сообщений журнала по UID или PID

Вы также можете фильтровать журналы журналов по идентификатору пользователя (UID) или идентификатору процесса (PID). Основной синтаксис:

sudo journalctl _UID = 0

... где 0 - это UID для учетной записи root. Вы также можете заменить UID в вышеупомянутой команде на PID или GID (идентификатор группы).

Форматирование вывода journalctl

Чтобы просмотреть журналы journalctl с использованием определенного формата вывода, вы должны использовать journalctl -o команда, за которой следует ваш предпочтительный формат. Например, чтобы отобразить журналы в красивом формате JSON, выполните следующую команду:

sudo journalctl -o json-pretty

Выход:

Связанный: Начало работы с системным журналом в Linux

Настройка journald в Linux

В этом руководстве показано, как просматривать и анализировать сообщения журнала journald в Linux с помощью команды journalctl. В /var/log/journal В каталоге хранятся все журналы журнала. Обратите внимание, что не во всех дистрибутивах Linux по умолчанию включен journald.

Вы можете использовать /etc/systemd/journald.conf файл, чтобы настроить или внести изменения в конфигурацию журнала на вашем ПК. Помимо эффективной службы ведения журнала, есть несколько других инструментов, которые необходимы, если вы серьезно относитесь к безопасности своих серверов Linux.

Электронное письмо
6 обязательных инструментов с открытым исходным кодом для защиты вашего Linux-сервера

Не хотите рисковать безопасностью своего Linux-сервера? Установите эти шесть инструментов, чтобы создать непроницаемую сеть.

Читать далее

Похожие темы
  • Linux
  • Linux элементарный
  • Команды Linux
  • Системное администрирование
Об авторе
Мвиза Кумвенда (Опубликовано 30 статей)

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

Ещё от Mwiza Kumwenda

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться