← Cheatsheets
Observability

Prometheus / PromQL

PromQL selectors, aggregations, rate functions and common patterns for querying Prometheus metrics.

Instant Selectors

http_requests_total
http_requests_total{job="api"}
http_requests_total{status=~"5.."}
http_requests_total{status!="200"}
http_requests_total{job="api",status="200"}

Range Queries & Rates

http_requests_total[5m]
rate(http_requests_total[5m])
irate(http_requests_total[5m])
increase(http_requests_total[1h])
delta(temperature_celsius[10m])

Aggregation

sum(http_requests_total)
sum by (job) (http_requests_total)
sum without (instance) (http_requests_total)
avg(cpu_usage)
max(memory_bytes)
min(memory_bytes)
count(up)
topk(5, http_requests_total)
bottomk(5, http_requests_total)

Arithmetic & Comparison

metric_a + metric_b
http_errors_total / http_requests_total
metric > 0.9
metric * 100
metric offset 1h

Functions

histogram_quantile(0.95, rate(http_duration_bucket[5m]))
predict_linear(metric[1h], 3600)
absent(up{job="api"})
label_replace(metric, "new", "$1", "old", "(.*)")
clamp(metric, 0, 1)