Анализатор больших журналов

Потоковая обработка, фильтрация, визуализация и экспорт очень больших журналов Serilog, .NET, Nginx, JSON Lines и текстовых журналов локально.

Введённые данные и файлы остаются в браузере

Перетащите сюда файл журнала

Перетащите сюда файл журнала

.log, .txt, .jsonl или .ndjson. Файл останется на этом устройстве.

Локальный Web Worker сканирует файл ограниченными фрагментами. Содержимое и фильтры никогда не загружаются на сервер и не сохраняются.

Настройки импорта

Ограничения безопасности: 2 MiB на строку, 100 миллионов записей, 512 символов на фильтр и агрегируемую метку, 2,000 уникальных агрегируемых значений и 4,096 уникальных минут временных меток.

Анализ

Выберите файл журнала, чтобы создать локальный разреженный индекс и проанализировать записи.

На этой странице

Анализатор больших журналов исследует рабочие журналы целиком в браузере. Он поддерживает Serilog JSON и Compact Log Event Format, обычные текстовые журналы .NET, журналы доступа и ошибок Nginx, обычный NDJSON и простой текст без загрузки рабочих данных на сервер.

Подробное описание функциональности

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

При экспорте весь отфильтрованный результат сканируется заново, а исходные байты строк UTF-8 передаются потоком вместе с разделителями LF, CRLF или CR. Отображается сформированный текст Serilog @m, а @mt остаётся ключом группировки при подсчёте основных сообщений. Ни исходные данные, ни результаты не сохраняются в localStorage.

Практические примеры

Serilog CLEF: {"@t":"2026-10-17T10:01:00Z","@l":"Error","@mt":"Payment failed for {OrderId}","@m":"Payment failed for 17"} группирует изменяющиеся ID заказов по одному шаблону.

Доступ Nginx: запросам в формате combined-log назначается уровень в зависимости от группы статуса HTTP.

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

Как использовать этот инструмент

  1. выберите формат

    Используйте автоматическое определение для обычных файлов или явно выберите Serilog/.NET, Nginx, JSON Lines либо текст.

  2. откройте журнал

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

  3. отфильтруйте и изучите

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

  4. экспортируйте

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

Советы и лучшие практики

  • Выберите явную предустановку JSON Lines, если произвольные объекты JSON не должны интерпретироваться как Serilog.
  • Количество некорректных строк относится к строкам, не соответствующим выбранному структурированному формату; обычный текст принимает каждую корректную строку UTF-8.
  • Если уровни не выбраны, результат будет пустым. Временные границы исключают записи без распознанной временной метки.
  • Количество агрегируемых меток и минут временных меток ограничено для безопасного использования памяти, но общие числа, фильтрация, постраничный просмотр и экспорт остаются точными.
  • Полнотекстовый поиск выполняется по точной декодированной исходной строке без учёта регистра.

Помогите выбрать следующий шаг

Что улучшить дальше?

Выберите одно предложение. Это идеи, а не обещанные функции.

Выберите один вариант

Отправляется только выбранный вариант как анонимный счётчик. В голосе нет введённых данных, сведений о файлах, URL, cookie или идентификатора; он не сохраняется в браузере. После перезагрузки страницы можно проголосовать снова.