Сравнение логов: выравнивание и различия файлов по временным меткам

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

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

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

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

Открыть сравнение логов (на весь экран)

Файлы полностью разбираются в вашем браузере — ничего не загружается.

  • Прокрутка с выравниванием по времени: все открытые логи перемещаются вместе к одному моменту.
  • Несколько файлов рядом: сравнивайте лог клиента с логами сервера и прокси.
  • Фильтры ключевых слов и регулярных выражений для каждого файла убирают шум и оставляют нужные строки.
  • Подсветка и закрепление строк для отметки доказательств при разборе временной шкалы.
  • Обрабатывает большие файлы локально в браузере: без загрузки и серверных квот на размер.
  • Бесплатный инструмент с открытым исходным кодом (github.com/lubobill1990/log-compare).

Зачем сравнивать логи, выровненные по временным меткам

Когда один запрос затрагивает три сервиса и что-то идёт не так, правда распределена по трём файлам логов. Чтение по одному заставляет держать временные метки в голове, переключаться между редакторами и каждый раз терять нить. Log Compare использует противоположный подход: откройте сразу все нужные файлы, и просмотрщик выровняет их на общей временной шкале; при прокрутке одного лога остальные перейдут к тому же моменту. Главное взаимодействие — прокрутка, привязанная к временным меткам. Каждый файл разбирается в браузере, а временная метка каждой строки индексируется. Когда вы перемещаетесь по основному логу, другие панели следуют к ближайшей строке в этот момент или непосредственно перед ним — это тот же приём, который инженеры вручную применяют с двумя мониторами и большим терпением, но здесь он автоматизирован. Расхождение часов между машинами остаётся видимым, а не скрывается, и это само по себе важно для диагностики: если лог базы данных утверждает, что событие произошло раньше вызвавшего его запроса, вы узнали нечто важное о настройке NTP. Фильтры делают выравнивание полезным в масштабе. Подробный сервис может выдавать тысячи строк в секунду; фильтр по ключевому слову или регулярному выражению для каждого файла сокращает каждую панель до нужных строк — кода ошибки, ID запроса или ID пользователя, — при этом выравнивание продолжает работать по полной временной шкале. Сочетание фильтра по ID запроса во всех панелях превращает распределённую трассировку в то, что можно прочитать сверху вниз. Всё происходит локально. Файлы читаются через File API браузера и никогда не покидают вашу машину, что важно, если в логах есть данные клиентов, токены или внутренние имена хостов, которые нельзя вставлять в случайный онлайн-инструмент. Это также означает, что практический предел задаёт ваша RAM, а не лимит загрузки. Типичные случаи использования: разбор инцидента, когда вы восстанавливаете минуту хаоса по пяти сервисам; сравнение лога проблемной среды со здоровой, чтобы найти место расхождения поведения; отслеживание одного ID запроса через клиент, шлюз и бэкенд; и проверка, что исправление изменило последовательность событий, а не только текст ошибки. Просмотрщик имеет открытый исходный код, поэтому правила разбора можно расширить для пользовательских форматов временных меток.

Примеры использования сравнения логов

Как инженеры используют логи, выровненные по временным меткам, на практике.

СценарийКак помогает сравнение логовРезультат
API-запрос периодически сбоит между шлюзом и бэкендомОткройте оба лога, отфильтруйте по ID запроса и прокрутите до ошибки шлюзаПанель бэкенда уже находится в том же моменте: тайм-аут пула подключений за 40 ms до этого.
Разбор 3-минутного сбоя в 4 сервисахОткройте все четыре лога и синхронно пройдите окно сбояПорядок событий между сервисами становится очевидным, включая то, какая тревога была причиной, а какая следствием.
Стенд работает, а продакшен — нетОткройте рядом логи одной операции из каждой средыПанели расходятся точно на строке, где продакшен идёт по другому пути кода.
Подозрение на расхождение часов между хостамиВыровняйте по известному общему событию (маркеру развёртывания, тику cron)Расхождение видно как постоянное смещение между панелями — измерьте его до того, как доверять временной шкале.

Как использовать сравнение логов

  1. Нажмите «Открыть сравнение логов» — просмотрщик откроется на полноэкранной странице.
  2. Перетащите два или более файлов логов или воспользуйтесь выбором файлов; каждый откроется в своей панели.
  3. Прокрутите любую панель: остальные автоматически перейдут к той же временной метке.
  4. Добавьте фильтр по ключевому слову или regex для каждой панели, чтобы убрать шум; выравнивание продолжит отслеживать полную временную шкалу.
  5. Подсвечивайте или закрепляйте ключевые строки при восстановлении последовательности событий.

Частые вопросы о сравнении логов

Мои файлы логов куда-нибудь загружаются?
Нет. Файлы открываются через File API браузера и разбираются локально в JavaScript. Ничего не передаётся, поэтому инструмент безопасен для логов с данными клиентов или секретами, которые должны оставаться на вашей машине.
Какие форматы временных меток распознаются?
Распространённые форматы работают сразу: ISO 8601 (2026-09-11T02:30:00.123Z), даты в стиле syslog и миллисекунды эпохи около начала строки. Строки без распознаваемой метки наследуют время предыдущей строки, поэтому трассировки стека остаются связанными со своей записью лога.
Файлы какого размера он может обработать?
Разбор выполняется в памяти, поэтому практический предел — RAM браузера; на настольном компьютере обычно нормально обрабатываются сотни MB. Для логов в несколько GB предварительно отфильтруйте их с помощью grep или разделите по временному окну, затем загрузите нужный фрагмент.
Можно сравнивать логи машин с разными часами?
Да. Выравнивание использует собственные временные метки каждого файла, поэтому постоянное расхождение часов видно как смещение между панелями, а не исправляется незаметно. Выровняйте известное общее событие, измерьте расхождение и читайте временную шкалу с учётом этого смещения.
Это открытый исходный код?
Да. Log Compare разрабатывается на github.com/lubobill1990/log-compare под лицензией с открытым исходным кодом; приветствуются issues и pull requests для новых форматов временных меток или функций.
Почему инструмент открывается на отдельной полноэкранной странице?
Для анализа логов нужно горизонтальное пространство: несколько панелей с длинными строками и фильтрами. Поэтому просмотрщик работает вне обычной разметки сайта, используя всё окно. Состояние сеанса остаётся в этой вкладке; эта посадочная страница лишь документирует и запускает его.