Skip to content

nikiduki/loganalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LogAnalyzer

LogAnalyzer - это метод автоматического анализа для обнаружения аномалий в диагностической информации системы. Мы предоставляем доступ к сервису анализатора, обернутого в необходимую для интеграции инфрастуктуру.

Установка

Клонировать репозиторий

git clone https://github.com/nikiduki/loganalyzer.git
cd loganalyzer

Настроить окружение

pip install --upgrade pip
python -m pip install --user virtualenv
python -m venv env
source env/bin/activate

pip install -r ./environment/requirements.txt

Технологии

Deploy:

  • Docker - платформа для разработки, доставки и запуска приложений в контейнерах.

Workflow:

  • DVC - система версионирования датасетов.

In Docker:

  • FastAPI - фреймворк для создания API с помощью Python.
  • Minio - высокопроизводительное хранилище объектов, совместимое с S3.
  • MLflow - фреймворк, предназначенный для управления жизненным циклом моделей машинного обучения, включая эксперименты, развертывание и реестр моделей.
  • PostgreSQL - объектно-реляционная система управления базами данных.
  • Streamlit - фреймворк для веб-приложений на языке Python.

ML:

  • PyTorch - фреймворк машинного обучения для Python.
  • scikit-learn - библиотека, реализующая ряд алгоритмов машинного обучения, предварительной обработки, валидации и визуализации.
  • Pandas - библиотека для работы с данными в Python.
  • NumPy - библиотека для научных вычислений на языке Python.

Дизайн системы

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

  • Backend MVP: создать минимальный backend с возможностью cold start, который позволит получить первые результаты работы.

  • Разработка МЛ модели: для обнаружения аномалий в последовательности сообщений можно использовать различные известные МЛ алгоритмы, такие как Isolation Forest, One-class SVM или LSTM сети. Для увеличения точности распознавания следует разработать метод на основе архитектуры BERT. Для измерения качества модели необходимо использовать метрики, такие как Precision, Recall и F1-меру.

  • Валидация и оптимизация МЛ модели: после обучения модели необходимо проверить ее на валидационном наборе данных и провести оптимизацию гиперпараметров для улучшения качества обнаружения. Важно учитывать время, необходимое для проведения анализа, чтобы обеспечить быстродействие системы.

  • MLOps: MLflow, DVC, FastAPI, Minio, PostgreSQL.

  • ML: PyTorch, BERT, Time Series Validation.

  • Frontend: добавить функции и простой фронтенд для взаимодействия пользователя. Для создания фронтенда можно использовать фреймворк Streamlit.

  • Деплой: развернуть систему на сервере и обеспечить ее работу на постоянной основе. Для этого можно использовать такие сервисы, как AWS, Google Cloud или Microsoft Azure.

Инфраструктура

image

Проект разделяется на две основные части:

  1. Серверная, состоящая из набора докер-контейнеров.
  2. Локальная сторона Конвейеры DVC для обработки данных, разработки функций и модельных экспериментов.

Имеются следующие компоненты:

  • Интерфейс, который разработан с помощью фреймворка Streamlit.
  • База данных, которая содержит информацию о дополнительных фичах модели и исторических аномальных последовательностях. Администрируется с помощью PgAdmin.
  • Модуль для обработки данных, который использует библиотеки Pandas и NumPy.
  • Модуль для обнаружения аномалий, который использует реализованный метод анализа диагностической информации.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published