Deterministic, rule-based incident analysis and RCA system
Project description
ATLAS — Deterministic Incident Analysis & Root Cause System
ATLAS is a production‑grade, deterministic incident analysis system designed for SREs and DevOps engineers. It analyzes real production logs, classifies incidents, determines root cause, and suggests concrete actions — without AI, ML, or probabilistic logic.
Built for 3‑AM incidents. Explainable, testable, and deployable today.
Why ATLAS?
Most incident tools rely on black‑box AI or heuristics that cannot be trusted under pressure. ATLAS takes the opposite approach:
- 🔒 Zero‑AI (no LLMs, no ML, no embeddings)
- 🧠 Fully deterministic (same input → same output)
- 🧾 Explainable decisions (rule‑based logic)
- 🧪 100% testable core pipeline
- ⚙️ Real‑world workflow (file‑based CLI + JSON output)
What ATLAS Does
- Parses raw production logs
- Normalizes them into a canonical incident schema
- Classifies the incident (DB, Network, Auth, etc.)
- Infers probable root cause via rule chains
- Suggests concrete remediation actions
- Persists incident history for audit & comparison
High‑Level Architecture
flowchart TD
A[Log File] --> B[Log Parsing Engine]
B --> C[Incident Normalization]
C --> D[Rule‑Based Classification]
D --> E[Root Cause Analysis]
E --> F[Recommendation Engine]
F --> G[Final JSON Report]
G --> H[Incident History (JSONL)]
Directory Structure
atlas/
├── atlas/
│ ├── cli/ # CLI entry point (file‑based)
│ ├── parsing/ # Log parsing engine
│ ├── normalization/ # Incident normalization
│ ├── classification/ # Rule‑based classifier
│ ├── rca/ # Root cause analysis engine
│ ├── recommendations/ # Action / remediation engine
│ ├── history/ # Incident persistence (JSONL)
│ ├── orchestrator/ # Pipeline orchestration
│ ├── io/ # JSON I/O helpers
│ ├── schemas/ # Shared data contracts
│ └── __main__.py # `python -m atlas`
│
├── tests/ # pytest test suite
├── output/ # Generated reports
├── incident_history.jsonl # Append‑only incident history
├── README.md
└── pyproject.toml
Installation
python3 -m venv env
source env/bin/activate
(Only pytest is required for testing.)
Usage (Real‑World Workflow)
1️⃣ Create a production‑like log file
2024-10-12T09:14:01Z INFO payments-api Starting service
2024-10-12T09:14:05Z INFO payments-api Connected to postgres
2024-10-12T09:15:22Z WARN payments-api Slow query detected
2024-10-12T09:16:10Z ERROR payments-api Database connection timeout
2024-10-12T09:16:15Z ERROR payments-api Retries exhausted
2️⃣ Run ATLAS
python -m atlas prod_payments.log payments-api prod
3️⃣ Example Output (JSON)
{
"service": "payments-api",
"environment": "prod",
"severity": "HIGH",
"category": "DATABASE",
"root_cause": "Connection pool exhausted",
"actions": [
"Increase database connection pool size",
"Restart affected service",
"Monitor latency for 15 minutes"
],
"confidence": 1.0
}
Incident History (Persistence)
Each run is appended to incident_history.jsonl:
{"service":"payments-api","environment":"prod","severity":"HIGH","category":"DATABASE","root_cause":"Connection pool exhausted",...}
- Append‑only
- Audit‑friendly
- Replayable for future analysis
Testing
Run the full test suite:
pytest -v
All core modules are covered with deterministic tests.
Design Principles
- Determinism over intelligence
- Rules over models
- Schemas over guesses
- Clarity over cleverness
- Production realism over demos
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_incident-0.1.0.tar.gz.
File metadata
- Download URL: atlas_incident-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4250a3119b32d4debf3b49cb8c2c59981693a720a6c9f380ac43054358215882
|
|
| MD5 |
eb786dc3adbd720391136b7fc6ddb8ca
|
|
| BLAKE2b-256 |
095d8ea1c65ebe4bced4d6e75425f2ca1dbf5c509614735ac15dba76bf189a01
|
File details
Details for the file atlas_incident-0.1.0-py3-none-any.whl.
File metadata
- Download URL: atlas_incident-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95b9350eaf0472751850db0183a2676889be22b559f80210db6110aa163b7a9c
|
|
| MD5 |
66b818d44d64d8ada88baf2c80c74b57
|
|
| BLAKE2b-256 |
3a1e812bb9243c48f3dbc5db49866c6c8b9193e9dc9d44808ae2bc5a911e66e4
|