QA
Intermediate LevelSystem Design & Architecture

How do you design a Time-Series Metrics Collection System (like Prometheus)?

❓ Interview Prompt: Explain Time-Series Databases (TSDB), Pull vs Push metric collection, Gorilla compression, and Prometheus architecture.

Designing a scalable Time-Series Metrics Collection System (Prometheus/Grafana):

Architecture:

1
Metrics Scraping (Pull Model): Server periodically fetches '/metrics' HTTP endpoints from target application instances.
2
Time-Series Engine (TSDB): Uses Gorilla Compression to compress timestamped float values, achieving $10 imes$ memory reduction.
3
Alert Manager: Evaluates PromQL alerting rules and triggers PagerDuty/Slack notifications.

Code Implementation Example

yaml
# Prometheus Scraping Target Configuration
scrape_configs:
  - job_name: 'payment-microservices'
    scrape_interval: 15s
    static_configs:
      - targets: ['payment-1.internal:3000', 'payment-2.internal:3000']
πŸ’‘Prometheus metric scraping target configuration.
🎯 Interview Key Takeaway

Design time-series metrics collectors using pull-based scraping and Gorilla compression for high-density timestamped storage.

#System Design#Prometheus#TSDB#Metrics#Intermediate
Back to all System Design & Architecture Questions→

More System Design & Architecture Interview Questions

Beginner LevelSystem Design & Architecture

Explain the CAP Theorem and PACELC Theorem with real-world database examples.

Beginner LevelSystem Design & Architecture

What is Vertical Scaling (Scale Up) vs Horizontal Scaling (Scale Out)?

Beginner LevelSystem Design & Architecture

How do Load Balancers distribute traffic (Round Robin, Least Connections, IP Hash)?