Project
Microservice Observability Lab
Technical observability lab built around a minimal API to provide a clear, reproducible and useful base for monitoring, log analysis and service degradation diagnosis.
Overview
Reproducible observability lab built around a small FastAPI API with Prometheus and Grafana, focused on monitoring, structured logs and incident diagnosis.
Stack: Python 3.12, FastAPI, Uvicorn, Prometheus, Grafana, Docker Compose, JSON logging
What it does
The project is meant to explore observability on a small service without stopping at a superficial metrics or dashboard demo. The goal is to have a simple but useful base to instrument an API, observe traffic, latency and errors, and understand how to detect controlled degradation through correlated technical signals.
How it is built
The solution is based on an API built with FastAPI and served with Uvicorn, exposing functional, health and metrics endpoints. The application produces structured JSON logs and integrates with Prometheus and Grafana inside a reproducible environment started with Docker Compose to centralise metric collection, visualisation and basic service behaviour analysis.
What it validates or automates
The lab makes it possible to introduce artificial latency to simulate controlled degradation and analyse its impact without turning the scenario into a full outage. From there, metrics and logs can be correlated to observe increased response times, endpoint behaviour and error signals in a local environment designed for technical diagnosis and practical learning.
Key points
- Minimal API instrumented with functional, /health and /metrics endpoints for basic observability.
- Reproducible integration with Prometheus and Grafana to analyse traffic, latency and errors.
- Controlled degradation scenario with artificial latency to correlate metrics and logs.