Prometheus is the standard for metrics in cloud-native environments.
How it works:
- Pull-based: Prometheus scrapes metrics from targets
- Time-series database stores metrics with labels
- PromQL for querying
Metric types:
- Counter: Only increases (requests_total)
- Gauge: Can go up or down (temperature)
- Histogram: Distribution of values (request_duration)
- Summary: Calculates percentiles client-side. Cannot aggregate across instances
Example PromQL:
rate(http_requests_total[5m]) # Requests per second
histogram_quantile(0.99, rate(request_duration_bucket[5m]))