Turn messy server logs into structured incident reports in seconds.
Production logs are the source of truth during outages, but a 50k-line dump is unreadable under pressure. LogLens parses common log formats, detects anomalies, clusters errors, builds a timeline, ranks likely root causes, and outputs Markdown + JSON you can paste into Jira or PagerDuty.
- Deterministic core: z-score anomalies, silence gaps, cascade windows, DBSCAN error clustering
- One optional LLM call: Groq narrative polish; full template fallback without API key
- Multi-format parsing: Nginx, Python logging, Docker, Kubernetes, systemd, and generic fallback
- Incident report: severity, clusters, timeline, ranked root-cause hypotheses
- Observability-ready: optional Phoenix / OpenTelemetry export
Log input → auto parser → anomaly detection → error clustering → timeline → root cause → report (Markdown + JSON)
| Format | Example |
|---|---|
| Nginx | access log lines with status codes |
| Python / uvicorn | INFO: ... "GET / HTTP/1.1" 200 |
| Python logging | 2024-01-15 ERROR module: message |
| Docker | container stderr/stdout timestamps |
| Kubernetes | pod events and warnings |
| systemd | journal-style service lines |
Unknown lines fall back to a generic timestamp/keyword parser.
| Layer | Tools |
|---|---|
| Backend | Python, FastAPI, uv |
| Analysis | NumPy/Pandas-style pipeline, embeddings + DBSCAN clustering |
| LLM (optional) | Groq via LangChain LCEL |
| Frontend | React, Vite, Tailwind, Recharts |
| Observability | Arize Phoenix (optional) |
git clone https://github.com/Znaxh/Loglens.git
cd Loglens/backend
cp .env.example .env # optional GROQ_API_KEY for narrative prose
uv sync --all-groups
SKIP_PHOENIX=true uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000cd ../frontend
npm install
npm run devSet VITE_API_URL if the API is not on http://localhost:8000.
Leave GROQ_API_KEY empty. The full deterministic pipeline still runs and a complete template report is generated.
cd backend
docker compose up --buildAPI: http://localhost:8000 · Phoenix UI (optional): http://localhost:6006
cd backend
SKIP_PHOENIX=1 uv run pytest tests/ -v
SKIP_PHOENIX=true uv run python -m evals.eval_pipelineLoglens/
├── backend/ # FastAPI, parsers, analysis, report generation, evals
└── frontend/ # Vite + React dashboard
Anurag Pratap Singh · GitHub
See repository license terms.