Просмотр логов Linux

В современных дистрибутивах Linux (Ubuntu, Debian, CentOS, AlmaLinux) за инициализацию системы и управление службами отвечает systemd. Для сбора и просмотра логов в этих системах используется утилита journalctl.

Данный инструмент позволяет быстро находить причины падения сервисов без необходимости искать разрозненные текстовые файлы в директории /var/log.

Основные команды

Для выполнения команд подключитесь к серверу по SSH, используя инструкцию по ссылке - Подключению к серверу по SSH.
Рекомендуется выполнять команды от имени суперпользователя (root) или используя sudo.

Просмотр всех логов

Команда выведет весь журнал событий с момента последней очистки.

journalctl

Для навигации используйте клавиши стрелок или PageUp/PageDown. Для выхода нажмите q.

Просмотр логов в реальном времени

Аналог команды tail -f. Позволяет наблюдать за событиями по мере их появления (удобно при отладке запуска служб).

journalctl -f

Логи конкретной службы

Если у вас не работает конкретный сервис (например, веб-сервер Nginx или база данных MySQL), можно отфильтровать логи только по нему:

journalctl -u nginx

(Замените nginx на имя нужной службы).

Фильтрация по времени

Чтобы не просматривать огромный архив, можно запросить логи за определенный период.

Показать логи с момента последней загрузки системы:

journalctl -b

Показать события за последний час:

journalctl --since "1 hour ago"

Только ошибки

Вывод только сообщений с приоритетом «ошибка» (error) и выше:

journalctl -p err -b

Управление размером логов

Если журнал занимает слишком много места на диске, можно принудительно очистить его. Оставить только последние 500 МБ логов:

journalctl --vacuum-size=500M