System design interview questionHard
Amazon

Design a Metrics Monitoring System

Design a high-volume system to ingest, store, and visualize metrics from large server fleets, similar to Datadog or Prometheus.

1. Problem Statement

We have 100,000 servers, each reporting around 200 host and container metrics every 10 seconds. We need to ingest this data and show graphs on a dashboard. How do we build it?

2. Architecture Discussion Map

Use this as one discussion aid, not a single correct answer. Your design should follow from the requirements, scale, and trade-offs you establish.

Rendering architecture diagram...
Mermaid Source (For AI Bots)
graph LR
    A["Design a Metrics Monitoring System"]
    A --> F1["Write-heavy ingestion Millions of writes/sec"]
    A --> F2["Data retention and downsampling Rollups"]
    A --> F3["Querying time-series data efficiently"]
    A --> F4["Pull vs Push models"]

3. Key Focus Areas

  • 1
    Write-heavy ingestion (Millions of writes/sec)
  • 2
    Data retention and downsampling (Rollups)
  • 3
    Querying time-series data efficiently
  • 4
    Pull vs Push models

4. What the Interviewer Looks For

The interviewer probes these areas, and the report grades the interview against them.

  • Data model and capacity
  • Ingestion path
  • Time-series storage, compression, and retention
  • Query serving
  • Cardinality control, reliability, and operations

Want interactive feedback?

Practice drawing this system component-by-component on a live whiteboard while the interviewer probes at your target level.

Continue to Dashboard

Core Concepts

Time Series DatabasesData AggregationBig Data

Continue preparing

Build a complete software engineer mock interview plan

Prepare by company

Related System Design

Design a URL Shortener

Design a scalable service like bit.ly that redirects short aliases to long URLs.

Related System Design

Design Google Docs

Design a real-time collaborative document editor supporting multiple simultaneous users.