Linux

Команды journalctl для диагностики и устранения проблем в Linux

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

Обновлено 14 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04Fedora 38Arch Linux

Введение / Зачем это нужно

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

Требования / Подготовка

  • Операционная система: любые дистрибутивы Linux с systemd (Ubuntu, Fedora, Arch и т.д.).
  • Права: обычный пользователь; для просмотра системных логов может потребоваться sudo.
  • Не требуется дополнительного программного обеспечения — journalctl уже входит в состав systemd.

Пошаговая инструкция

Шаг 1: Просмотр последних записей

Команда journalctl -n 10 выводит последние 10 строк журнала, что удобно для быстрой проверки состояния системы.

journalctl -n 10

Шаг 2: Фильтрация логов по времени

Для получения событий за определённый период используйте параметры --since и --until. Значения указываются в удобочитаемом формате.

journalctl --since "2025-07-10 12:00" --until "2025-07-10 13:00"

Шаг 3: Фильтрация по имени службы (юнита)

Если вам нужны логи конкретной службы, добавьте параметр -u с её именем.

journalctl -u nginx.service

Шаг 4: Фильтрация по уровню важности

С помощью -p (или --priority) можно отобразить записи определённого уровня важности. Диапазоны позволяют выбрать несколько уровней.

journalctl -p err..info

Шаг 5: Экспорт журнала в файл

Для сохранения журнала в удобный для анализа формат используйте -o cat и перенаправление вывода в файл.

journalctl -o cat > /var/log/journal.log

Проверка результата

После выполнения каждой команды убедитесь, что вывод соответствует ожиданиям:

  • -n показывает ровно 10 строк, если журнал не пуст.
  • Команды с --since/--until возвращают записи только в указанном диапазоне.
  • -u отображает логи только выбранной службы.
  • -p фильтрует записи по указанному уровню важности.
  • Экспорт записывает данные в файл /var/log/journal.log; проверьте его размер и содержание.

Возможные проблемы

  • Недостаточно прав: если journalctl не выводит системные логи, выполните команду с sudo journalctl ….
  • Отсутствие systemd: на системах без systemd (например, на старых дистрибутивах) journalctl может отсутствовать; установите пакет systemd или используйте syslog.
  • Очищенные логи: в некоторых контейнерных средах журнал может быть очищен; используйте --disk-space для принудительного чтения из файлов журнала, если они доступны.

⚠️ Важно: для просмотра системных логов часто требуются права администратора; если команда не выдаёт данных, добавьте sudo.

💡 Совет: для массового экспорта логов в формате JSON используйте journalctl -o json-pretty > journal.json, это упрощает парсинг данных в скриптах.

Часто задаваемые вопросы

Что такое journalctl и зачем он нужен?
Как просмотреть логи за последний час?
Как отфильтровать логи по имени службы?
Как экспортировать логи в текстовый файл?

Полезное

Просмотр последних записей
Фильтрация логов по времени
Фильтрация по имени службы (юнита)
Фильтрация по уровню важности
Экспорт журнала в файл

Эта статья помогла вам решить проблему?