Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья3 мин чтенияПросмотры0

Как найти нужную ошибку в журнале systemd через journalctl

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

Специалист просматривает диагностические данные на ноутбуке
В этой статье

Сообщение «сервис снова упал» трудно превратить в действие без времени и контекста. Журнал systemd помогает восстановить последовательность: что происходило до отказа, какая операция завершилась ошибкой и был ли последующий успешный запуск. Начинать лучше с узкого окна, которое действительно относится к инциденту.

Выберите службу и временной диапазон

Инструкция подходит для Linux с systemd и доступом к журналу. Пример использует nginx.service. Имя нужно заменить на реально установленный unit. Для просмотра чужих системных журналов могут понадобиться разрешения администратора; отсутствие видимых записей у обычного пользователя не означает отсутствие событий.

journalctl -u nginx.service --since '-30 min' --no-pager -o short-iso

Команда выводит сообщения выбранной службы за последние тридцать минут. Формат времени удобен для сопоставления с мониторингом. Проверяйте часовой пояс: отметка в браузерной панели и локальное время сервера могут различаться.

Уточните загрузку сервера

Если инцидент сопровождался перезагрузкой, текущий журнал нужно отличать от предыдущего. Посмотрите доступные загрузки:

journalctl --list-boots --no-pager

Затем для нужного случая можно выбрать предыдущую загрузку:

journalctl -b -1 -u nginx.service --no-pager -o short-iso

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

Не ограничивайтесь строками с высоким приоритетом

Отбор только ошибок удобен, но иногда убирает причину. Перед отказом могли быть обычные сообщения об изменении конфигурации, остановке зависимости или получении сигнала. Сначала прочитайте небольшой полный интервал, а затем сужайте выборку.

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

Что делать с найденной записью

Сопоставьте событие с конкретным действием: обновлением, импортом, сменой настройки или ростом нагрузки. Совпадение по времени полезно, но само по себе ещё не доказывает причинную связь. Проверьте, повторяется ли тот же отказ при том же сценарии и не появилась ли вслед за ним запись об успешном восстановлении.

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

Передача результата

Для поддержки подготовьте имя службы, диапазон времени, часовой пояс и несколько связанных сообщений до и после ошибки. Из текста удалите токены, персональные данные и содержимое запросов, если они попали в журнал. После исправления повторите тот же сценарий и убедитесь, что ошибка не возвращается. Полезный итог — последовательность событий и проверяемая гипотеза, а не архив всех логов сервера.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.