Консольная утилита для анализа NGINX access-логов и генерации отчётов в форматах JSON / Markdown / AsciiDoc.
- Источники логов:
- локальный файл по пути
- glob-паттерны (например,
logs/*.log) - удалённые файлы по URL
- несколько файлов одновременно
- Фильтрация по датам (
--from,--to) в формате ISO8601 - Потоковая обработка (построчно, без загрузки всего файла в память)
- Логирование через Serilog в stdout (WARN для некорректных строк, INFO/ERROR/FATAL для важных событий)
- общее количество запросов
- размер ответа: средний (точность 2 знака), максимальный, 95% перцентиль (p95)
- частота кодов ответа
- топ-10 наиболее часто запрашиваемых ресурсов
- распределение запросов по датам в процентах
- уникальные протоколы
Ввод:
dotnet run --project ./src/Logs/Logs.csproj -- \
--path https://raw.githubusercontent.com/elastic/examples/master/Common%20Data%20Formats/nginx_logs/nginx_logs \
--format adoc \
--output report.adocВывод: report.adoc
Ввод:
dotnet run --project ./src/Logs/Logs.csproj -- \
--path ./scripts/data/input/logs/part1.txt ./scripts/data/input/logs/part1.txt \
--format json \
--output full_report.jsonВывод: report.json
Ввод:
dotnet run --project ./src/Logs/Logs.csproj -- \
--path ./scripts/data/input/logs/part1.txt ./scripts/data/input/logs/part1.txt \
--format markdown \
--output full_report.mdВывод: report.md