Skip to content

sambadi/otus-pdp-2024-homework-01

Repository files navigation

Первое ДЗ в рамках обучения на курсах Otus

Реализован анализатор логов в заданном формате и формирование отчета на основании предоставленного шаблоблона.

Запуск проекта

Для запуска проекта достаточно:

  • склонировать репозиторий;
  • установить Python 3.12 любым доступным способом;
  • установить зависимости выполнив команду
 poetry install
  • скопировать в директорию ./logs пример с файлом логов (например nginx-access-ui.log-20170630.gz) или переопределив путь к нему в файле config.json
  • при необходимости изменить прочие настройки в файле config.json
  • запуск на выполнение
  poetry run python -m homework_01

Использование Makefile

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

  • make install - установка зависимостей;
  • make run - запуск приложения;
  • make test - запуск тестов c покрытием;
  • make lint - запуск проверки кода;
  • make run-with-docker - запуск приложения с использованием docker;

Параметры конфигурации

  • SELF_LOG_FILE_PATH - путь до файла, в который должны быть записаны логи. Если не задан, то лог пишется в stdout. По-умолчанию - None
  • REPORT_SIZE - количество строк для отчета. По-умолчанию 1000 строк
  • REPORT_DIR - директория, в которой будут храниться отчеты. Если не задан, то отчет будет сохранён в директории./reports.
  • LOG_DIR - директория с логами для анализа. Если не задан, то будут использоваться логи из директории ./logs.
  • LOG_FILE_NAME_PATTERN - шаблон имени файла логов. По-умолчанию nginx-access-ui.log-*
  • LOG_ROW_PATTERN - regex-шаблон строки лога.

Сборка docker image и запуск в контейнере

Запуск проиложения возможен с использованием docker для чего реализована сборка docker image и запуск проекта средствами docker compose.

В запускаемый контейнер проброшены 2 volume

  • ./log:/app/log - хранилище логов для парсинга
  • ./reports:/app/reports - директория для сохранения подготовленных отчётов

About

Otus/Python Developer. Professional/Homework 01

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published