Why Monitoring Is a First-Class Concern
You cannot manage what you cannot measure. Cloud-native applications generate thousands of metrics per second — request rates, error rates, latency percentiles, CPU usage, and memory consumption. Without proper observability, debugging production incidents is guesswork.
The Prometheus Data Model
Prometheus scrapes metrics from your services via HTTP endpoints at regular intervals. Each metric is a time-series identified by a name and a set of labels.
# Prometheus metric types
# Counter: always increasing (requests total)
http_requests_total{method="GET", status="200"} 15234
# Gauge: can go up or down (memory usage)
memory_usage_bytes{service="api"} 524288000
# Histogram: distribution of values (request duration)
http_request_duration_seconds_bucket{le="0.1"} 9823
Alerting With PromQL
Prometheus AlertManager fires alerts when conditions breach thresholds. A well-designed alert is actionable — it fires only when human intervention is required, not for every fluctuation.