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