Перейти к содержанию

Логи и journalctl: поиск причин ошибки

В НАЙС.ОС системные события и сообщения служб собирает systemd-journald. journalctl позволяет отфильтровать сообщения по загрузке, unit, времени и уровню важности.

Самые полезные команды

# Последние ошибки текущей загрузки:
journalctl -b -p err --no-pager

# Последние 100 сообщений службы:
journalctl -u systemd-networkd -b -n 100 --no-pager

# Сообщения ядра текущей загрузки:
journalctl -k -b --no-pager

# Доступные загрузки (если журнал хранится):
journalctl --list-boots

# В реальном времени:
journalctl -fu sshd

Для выхода из режима слежения -f нажмите Ctrl+C. Важно фильтровать журнал по времени и конкретной службе: общесистемная лента может быть очень большой.

Что искать в логе

  • Момент первой ошибки, а не только сообщение о последующем отказе.
  • Имя unit, PID, адрес/порт, код завершения.
  • Предыдущие изменения конфигурации и перезагрузки.
  • Время самого сервера (timedatectl) и временную зону.

Постоянство журнала

Проверьте, куда systemd пишет журналы и насколько они переживают перезагрузку:

journalctl --disk-usage
ls -ld /var/log/journal /run/log/journal 2>/dev/null
systemd-analyze cat-config systemd/journald.conf 2>/dev/null || true

Конкретная схема хранения определяется сборкой и настройками; нельзя заранее предполагать, что все журналы доступны после reboot. В изученном systemd.spec имеются дополнительные операции с каталогами журналирования, поэтому путь нужно проверять на настоящем образе.

Передача сведений в поддержку

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