Skip to content

Dabzelos/LogAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogAnalyzer

LogAnalyzer — это программа для анализа логов сервера Nginx. А так же для составления отчета в формате ADoc или MarkDown.

Запуск

Для запуска приложения требуется Go. Чтобы запустить программу, клонируйте репозиторий и выполните следующую команду:

go run main.go -sourcegetters="<path_or_url_to_logs>" [дополнительные флаги]

либо

./LogAnalyzer -sourcegetters="<path_or_url_to_logs>"

Доступные флаги

  1. source (обязательно) — путь к файлу логов или URL с логами.
  2. from — нижняя граница времени (в формате ISO 8601).
  3. to — верхняя граница времени (в формате ISO 8601).
  4. format — формат отчета, возможные значения: markdown (по умолчанию) или adoc.
  5. field — имя поля для фильтрации логов:
  • "remote_addr"
  • "remote_user"
  • "http_req"
  • "resource"
  • "http_version"
  • "http_code"
  • "bytes_send"
  • "http_referer"
  • "http_user_agent"
  1. value — значение для фильтрации по полю, например: 200, 192.168.1.1., должно быть обязательно указано если если указано поле field

Пример запуска с флагами

go run main.go -sourcegetters="access.log" -field="http_code" -value="404"

Метрики

LogAnalyzer рассчитывает следующие метрики:

  1. Временной диапазон логов — начало и конец анализируемого периода.
  2. Количество запросов — общее количество обработанных запросов.
  3. Средний размер ответа — средний размер HTTP-ответа.
  4. Количество нераспаршенных логов — количество логов, которые не удалось обработать.
  5. 95-й процентиль размера ответа — размер ответа, ниже которого находятся 95% запросов.
  6. Медиана размера ответа.
  7. Количество ошибок — количество запросов, завершившихся ошибками клиента или сервера.
  8. Процент ошибок — процент запросов с ошибками от общего числа.
  9. Топ HTTP запросов — наиболее частые HTTP-запросы.
  10. Топ запрашиваемых ресурсов — наиболее часто запрашиваемые ресурсы.
  11. Распределение кодов ответа — статистика по кодам ответа (информационные, успешные, перенаправления, ошибки клиента и сервера).
  12. Топ кодов ответа — наиболее часто встречающиеся HTTP-коды.

Отчеты

LogAnalyzer создаёт отчёты в формате Markdown (.md) или AsciiDoc (.adoc), в зависимости от значения флага -format.

После завершения анализа отчёт сохраняется с именем LogAnalyzerReport.md или LogAnalyzerReport.adoc в корневой папке проекта.

About

small application for anayzing NGINX logs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •