Общее журналирование
100%

Журналирование · Урок 3

Общее журналирование

Узнайте, как находить, фильтровать, отслеживать и сопоставлять общие системные журналы Linux.

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

Поиск нужного источника

В зависимости от дистрибутива и конфигурации общие сообщения находятся в /var/log/syslog, /var/log/messages, systemd journal или нескольких местах. Сначала определите хост и интервал инцидента, затем доступные источники:

$ ls -lh /var/log
$ journalctl --since '2026-08-31 09:00' --until '2026-08-31 09:15'

Журналы приложений могут находиться в собственных подкаталогах или внешней службе. Записи аутентификации, аудита, пакетов, баз данных и веб-серверов могут намеренно отделяться от общего потока.

Почему нельзя предполагать наличие /var/log/messages на каждом хосте Linux?

Просмотр текстовых журналов

Используйте less для управляемой навигации и tail для последних записей:

$ sudo less /var/log/syslog
$ sudo tail -n 100 /var/log/messages

Во время ограниченного воспроизведения следуйте добавляемым строкам через tail -F FILE. В отличие от простого снимка, -F повторно открывает файл, заменённый при ротации. Остановите Ctrl-C и не оставляйте широкие привилегированные сеансы открытыми.

Для чего полезен tail -F при контролируемом воспроизведении?

Фильтрация без потери контекста

Ищите в ограниченном файле или интервале journal, а не сразу в бесконечном живом потоке:

$ grep -n -C 3 'connection refused' /var/log/example.log
$ journalctl -u example.service --since '10 minutes ago' --grep='connection refused'

Регистр, формулировка, rate limits и локализация могут сделать буквальный поиск неполным. Записывайте успешные и неудачные события и сохраняйте соседние строки: причина может предшествовать видимой ошибке.

Почему нужно включать строки вокруг совпавшей ошибки?

Ротационные и архивные журналы

Инцидент может пересекать границу ротации. Активный файл, нумерованные архивы и сжатые файлы способны содержать разные части одной последовательности. zgrep и zless читают gzip-архивы:

$ sudo zgrep -n 'connection refused' /var/log/example.log*.gz

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

Что нужно проверить, если инцидент пересёк ротацию журнала?

Урок завершён

Вы завершили Общее журналирование

Теперь вы можете исследовать общие журналы в файлах, journal и через границы ротации.

  • Находить назначения, не предполагая универсальное имя файла.

  • Читать ограниченный интервал и следовать журналу только при воспроизведении.

  • Сохранять временной контекст вокруг совпадений.

  • Включать архивы ротации и защищать чувствительные доказательства.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Журналирование