Skip to main content

Cервис, формирующий статистический отчет на основании парсинга логов

Project description

log_analyzer

PyPI version Python versions License CI Publish to PyPI

Cервис для формирования статистических отчетов на основе парсинга логов NGINX.

Функции

  • Парсинг access-логов NGINX
  • Расчет ключевых метрик: количество запросов, среднее время, медиана, 95-й персентиль
  • Выявление «подозрительных» URL по времени ответа
  • CLI-интерфейс на Typer
  • (TODO) Экспорт в JSON / CSV
  • (TODO) Фильтрация по временному диапазону

Установка

pip install log-analyzer-cli

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

Опции

log_analyzer --help

с конфигом по-умолчанию

log_analyzer

Файл конфига, как пример (config.toml):

REPORT_SIZE = 10
REPORT_DIR = "./reports"
TEMPLATE_PATH = "./templates/report.html"
LOG_DIR = "./logs"
LOG_PATTERN = 'nginx_access_ui\.log_(\d{8})-\d{6}-[a-f0-9]+(?:\.gz)?$'

с конфигом при запуске в консоли

log_analyzer --config /путь/к/файлу.toml

Документация

Документация собирается с помощью Zensical и автоматически публикуется на GitHub Pages.

Локальный предпросмотр: just docs-serve (http://localhost:8000)

Сборка: just docs-build

API-документация генерируется автоматически из docstring-функций с помощью mkdocstrings.

Примечание для maintainer'а: Для автоматической публикации документации перейдите в Settings → Pages вашего репозитория и установите источник GitHub Actions.

Разработка

Подготовка окружения

Клонируйте репозиторий

git clone git@github.com:rustruber/log_analyzer.git
cd log_analyzer

Синхронизируйте зависимости

uv sync

Поднять виртуальное окружение

Если работаете в PyCharm не забудьте переключить интерпретатор на нужную версию python в директории .venv/bin

source .venv/bin/activate

Установка в режиме разработки (editable)

После этого команда log_analyzer станет доступна глобально, а любые изменения в коде будут подхватываться сразу.

uv pip install -e .

Проверка качества кода

Эта команда запускает форматирование (ruff format), линтинг (ruff check), проверку типов (ty) и тесты (pytest).

just qa

Команды для разработки

Команда Что делает
just qa Полная проверка (форматирование, линтинг, типы, тесты)
just test Запустить тесты
just docs-serve Посмотреть документацию локально
just build Собрать пакет
just type-check Проверить типы

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

uv run pytest

Лицензия

MIT License

Проект создан в 2026 году.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

log_analyzer_cli-0.2.0.tar.gz (141.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

log_analyzer_cli-0.2.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file log_analyzer_cli-0.2.0.tar.gz.

File metadata

  • Download URL: log_analyzer_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 141.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for log_analyzer_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 0874d396370a0e2ed3e167e9ac97292296e2fd580f849c9580f4116f83020fe7
MD5 264a3ed32176aec17d1c7a5d2e9ec7ed
BLAKE2b-256 a30b357ccbf76736a10d49a24c48a29a11e109c8c2e852ac7a40303bfc75d42a

See more details on using hashes here.

Provenance

The following attestation bundles were made for log_analyzer_cli-0.2.0.tar.gz:

Publisher: publish.yml on rustruber/log_analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file log_analyzer_cli-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for log_analyzer_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c7db8f7645210af31948ee324ce0ddda65471aaa299fef6b6b9e82002ccab4d
MD5 d07bae04f47c47164393de85fdc63dd2
BLAKE2b-256 aa1f9afccdc980cb7ae1f88cbfcc00c34d14fa53723045dfe3667790f9a59328

See more details on using hashes here.

Provenance

The following attestation bundles were made for log_analyzer_cli-0.2.0-py3-none-any.whl:

Publisher: publish.yml on rustruber/log_analyzer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page