LogAnalyzer — это программа для анализа логов сервера Nginx. А так же для составления отчета в формате ADoc или MarkDown.
Для запуска приложения требуется Go. Чтобы запустить программу, клонируйте репозиторий и выполните следующую команду:
go run main.go -sourcegetters="<path_or_url_to_logs>" [дополнительные флаги]либо
./LogAnalyzer -sourcegetters="<path_or_url_to_logs>"Доступные флаги
- source (обязательно) — путь к файлу логов или URL с логами.
- from — нижняя граница времени (в формате ISO 8601).
- to — верхняя граница времени (в формате ISO 8601).
- format — формат отчета, возможные значения: markdown (по умолчанию) или adoc.
- field — имя поля для фильтрации логов:
- "remote_addr"
- "remote_user"
- "http_req"
- "resource"
- "http_version"
- "http_code"
- "bytes_send"
- "http_referer"
- "http_user_agent"
- value — значение для фильтрации по полю, например: 200, 192.168.1.1., должно быть обязательно указано если если указано поле field
Пример запуска с флагами
go run main.go -sourcegetters="access.log" -field="http_code" -value="404"LogAnalyzer рассчитывает следующие метрики:
- Временной диапазон логов — начало и конец анализируемого периода.
- Количество запросов — общее количество обработанных запросов.
- Средний размер ответа — средний размер HTTP-ответа.
- Количество нераспаршенных логов — количество логов, которые не удалось обработать.
- 95-й процентиль размера ответа — размер ответа, ниже которого находятся 95% запросов.
- Медиана размера ответа.
- Количество ошибок — количество запросов, завершившихся ошибками клиента или сервера.
- Процент ошибок — процент запросов с ошибками от общего числа.
- Топ HTTP запросов — наиболее частые HTTP-запросы.
- Топ запрашиваемых ресурсов — наиболее часто запрашиваемые ресурсы.
- Распределение кодов ответа — статистика по кодам ответа (информационные, успешные, перенаправления, ошибки клиента и сервера).
- Топ кодов ответа — наиболее часто встречающиеся HTTP-коды.
LogAnalyzer создаёт отчёты в формате Markdown (.md) или AsciiDoc (.adoc), в зависимости от значения флага -format.
После завершения анализа отчёт сохраняется с именем LogAnalyzerReport.md или LogAnalyzerReport.adoc в корневой папке проекта.