Monitoring & Observability for Distributed Systems
Every fault-tolerance technique in this track assumes something is watching for failure. This is that watcher.
Intermediate
| Metric category | Examples |
|---|---|
| Resource usage | CPU load, memory usage, disk I/O latency, free disk space |
| Service-level | Requests per second, error rate, p50/p95/p99 latency |
| Business-level | Orders placed per minute, payment success rate |
| Model | How it works | Trade-off |
|---|---|---|
| Pull | The monitoring system periodically scrapes each service's metrics endpoint. | The monitoring system controls collection frequency and knows immediately if a service stops responding at all; requires every service to expose a scrape-able endpoint. |
| Push | Each service proactively sends its metrics to the monitoring system on its own schedule. | Works well for short-lived jobs that might not exist long enough to be scraped; adds steady background load on the monitoring system's ingest path from every service pushing independently. |
| Component | Role |
|---|---|
| Data collector | Fetches or receives metrics from every monitored service and writes them into storage. |
| Time-series storage | A database purpose-built for append-heavy, time-ordered numeric data — see Specialized Data Stores. |
| Querying / dashboard service | Lets engineers explore metrics visually and build dashboards. |
| Alert manager | Evaluates rules against incoming metrics and notifies the right people when thresholds are violated. |