System design interview questionMediumObservability
Design a Metrics / Monitoring System
Design a metrics/monitoring system: services emit metrics, you ingest at high write volume, store time-series-ish data, and serve dashboards.
Interview scope
Producer/Client → Gateway/LB → App → Message Queue; App → DB (+ Cache for hot queries). Optional Object Storage for cold retention. No Client → Queue/DB.
Functional requirements
- Ingest metric datapoints from many services.
- Store metrics for querying over time ranges.
- Serve recent graphs to operators quickly.
Scale and quality goals
- Write-heavy ingest — buffer with a queue.
- Hot recent queries benefit from cache.
- Long retention can use cheap Object Storage / DB tiering at a high level.
Capacity assumption
Design for this scale
Assume ~5B metric points/day (~58k points/s average); dashboards mostly read recent windows.
Practice more than a diagram
Place components on the Froquiz canvas, connect the data flow, and see which decisions the scenario-specific review finds missing. The full exercise and review unlock with Premium.
Explore Premium →