Unsupervised-Log-Anomaly-Detection-Microservices README

The project's README from github.com/chuansirrr/Unsupervised-Log-Anomaly-Detection-Microservices. As one markdown file: README.md.

Unsupervised-Log-Anomaly-Detection-Microservices-Advanced

Unsupervised Anomaly Detection for Log Data in Microservice Architectures — Advanced Version

This repository provides a research-grade, unsupervised anomaly detection framework for microservice logs, combining multi-modal embeddings, graph attention networks, hybrid ensembles with GMM thresholding, streaming simulation, and explainability (SHAP + gradients). A minimal Streamlit dashboard is included for real-time visualization.

Key Additions Over the Basic Version

Repository Layout

.
├─ src/
│  ├─ data/
│  │   ├─ parser.py               # Log parsing & templating
│  │   ├─ dataset.py              # Datasets & tokenization
│  │   └─ graph_builder.py        # Build service dependency graphs
│  ├─ models/
│  │   ├─ transformer.py          # Transformer encoder (semantic branch)
│  │   ├─ lstm.py                 # LSTM temporal branch
│  │   ├─ fusion.py               # Feature fusion with attention gating
│  │   ├─ gnn_gat.py              # Graph Attention Network (GAT)
│  │   ├─ autoencoder.py          # Reconstruction head
│  │   └─ ensemble.py             # IsolationForest + GMM thresholding
│  ├─ explain/
│  │   ├─ shap_explain.py         # SHAP explainability for fused features
│  │   └─ grad_tokens.py          # Token-level gradient saliency
│  ├─ streaming/
│  │   └─ collector.py            # Log stream simulator
│  ├─ train.py                    # Unsupervised training pipeline
│  ├─ evaluate.py                 # Evaluation & metrics + thresholding
│  ├─ visualize.py                # Embedding/graph plots
│  └─ dashboard_app.py            # Streamlit dashboard
├─ configs/
│  ├─ base.yaml
│  └─ advanced.yaml
├─ tests/
├─ .github/workflows/python-ci.yml
├─ requirements.txt
├─ LICENSE
└─ CITATION.cff

Quickstart

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

# Train unsupervised (embeddings + AE reconstruction)
python src/train.py --config configs/advanced.yaml

# Evaluate & save anomaly scores + calibrated threshold
python src/evaluate.py --config configs/advanced.yaml

# Explain: SHAP on fused features
python -m src.explain.shap_explain --config configs/advanced.yaml --n_samples 256

# (Optional) Run the dashboard (needs artifacts/ outputs)
streamlit run src/dashboard_app.py -- --config configs/advanced.yaml

Citation

@software{log_ad_microservices_advanced,
  title={Unsupervised Anomaly Detection for Log Data in Microservice Architectures — Advanced},
  year={2025},
  author={Your Name}
}

Unsupervised-Log-Anomaly-Detection-Microservices (chuansirrr/Unsupervised-Log-Anomaly-Detection-Microservices)

Searching Database…

Что это?Это исследовательский фреймворк обнаружения аномалий без учителя для логов микросервисов, который сочетает Transformer, LSTM и статистические признаки с моделированием на графах и ансамблевой оценкой, отмечая необычное поведение логов без размеченных данных.
Это готовый инструмент или исследовательская кодовая база для экспериментов?Это исследовательская Python-кодовая база с несколькими моделями (Transformer, LSTM, GAT, Autoencoder, IsolationForest, GMM) и минимальным Streamlit-дашбордом, а не отполированный продукт в одну команду.
Какие библиотеки нужны для запуска (глубокое обучение, объяснимость, дашборд)?Поскольку он объединяет нейросетевые энкодеры Transformer и LSTM с Graph Attention Network, Autoencoder, IsolationForest и GMM, плюс SHAP для объяснимости и Streamlit для дашборда, понадобится стек глубокого обучения на Python вместе с библиотеками в духе scikit-learn и SHAP/Streamlit, хотя точные команды установки не приведены.
Он готов к продакшену или скорее экспериментальный проект?В README он прямо назван фреймворком «research-grade», то есть созданным для экспериментов и анализа, а не для укреплённого продакшен-развёртывания.
Что добавляет Graph Attention Network (GAT)?Она моделирует динамический граф сервисов, чтобы улавливать межсервисные зависимости и помогать находить аномалии, возникающие из взаимодействия микросервисов, а не только из отдельных строк логов.
Как именно оцениваются аномалии?Гибридный ансамбль сочетает ошибку реконструкции Autoencoder с IsolationForest и динамическим порогом на основе GMM, выдавая единый вероятностный балл аномалии.
Как понять, почему лог помечен как аномальный?Фреймворк считает значения SHAP на сплавленных признаках и использует градиентную значимость на уровне токенов в ветви Transformer, чтобы объяснить, какие токены или признаки сформировали балл аномалии.
Можно проверить его без реальных продакшен-логов?Да, в комплекте есть потоковый симулятор, который эмулирует логи микросервисов с управляемой инъекцией аномалий, — удобно пробовать пайплайн от начала до конца.
Creator
chuansirrr
Size
<0.1 MB
Stars
1K
Updated
CommitOct 21
Age
11mo
Commits · 90 Days