Когда сервис падает, первое желание - открыть
/var/log и начать искать глазами. Но на современных linux-системах часто быстрее идти сразу в journalctl. journalctl показывает логи из systemd-journald: сервисы, kernel-сообщения, boot-логи, ошибки юнитов и многое другое.▪️ Самый базовый сценарий:
journalctl -u nginx
Так смотрим логи конкретного сервиса.
Если нужен только последний запуск:
journalctl -u nginx -b
-b ограничивает вывод текущей загрузкой системы. Это удобно, чтобы не утонуть в старых событиях.Посмотреть последние строки:
journalctl -u nginx -n 100
Следить за логами в реальном времени:
journalctl -u nginx -f
Это аналог tail -f, только для systemd-журнала.
▪️ Если сервис не стартует, полезная связка такая:
systemctl status nginx
journalctl -u nginx -xe
status дает краткую картину, а journalctl уже показывает детали: ошибки конфига, проблемы с правами, отсутствующие файлы, failed dependency и так далее.
Очень удобно фильтровать по времени:
journalctl -u nginx --since "10 minutes ago"
или так:
journalctl -u nginx --since "2026-06-24 10:00" --until "2026-06-24 11:00"
Для разбора аварий это особенно полезно: сужаете окно до момента инцидента и смотрите только нужный кусок.
▪️ Ошибки по всей системе:
journalctl -p err -b
Где
-p err показывает сообщения уровня error и выше за текущую загрузку.▪️ Kernel-сообщения:
journalctl -k -b
Тут можно увидеть проблемы с дисками, драйверами, OOM, сетевыми интерфейсами и железом. Например, если подозрение на OOM killer:
journalctl -k -b | grep -i "killed process"
Еще полезно смотреть логи предыдущей загрузки, если сервер уже перезагрузился после аварии:
journalctl -b -1
А список доступных загрузок:
journalctl --list-boots
Так можно понять, что происходило перед reboot, panic или зависанием.
▪️ Для читаемого вывода без pager:
journalctl -u nginx --no-pager
Для вывода в JSON, если нужно парсить:
journalctl -u nginx -o json
#linux #journalctl
🧑💻 NetworkAdmin