Chuleta de PromQL: consultas comunes con ejemplos
Expresiones PromQL listas para tareas habituales de monitorización: rate sobre contadores, agregaciones, cuantiles a partir de histogramas, top-N y plantillas de alertas. Cópialas y adáptalas a tus métricas.
Selectores y matchers
http_requests_total{job="api", code=~"5.."}=coincidencia exacta,!=negación=~coincidencia regex,!~negación regex
Rate sobre contadores
sum(rate(http_requests_total[5m])) by (code)rate() es para contadores (monótonos). La ventana [5m] debe cubrir al menos 4 scrapes.
Agregaciones
avg by (instance) (node_load1)
topk(5, sum by (pod) (container_memory_working_set_bytes))Cuantiles a partir de histogramas
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))Agrupa por le solo dentro de histogram_quantile.
Tasa de errores
sum(rate(http_requests_total{code=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))Plantillas de alertas
# Host caído
up{job="node"} == 0
# CPU por encima del 90% durante cinco minutos
avg by (instance) (rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.9
# El disco se llenará pronto
predict_linear(node_filesystem_avail_bytes[6h], 4*3600) < 0Consejos
increase(x[1h])— crecimiento total del contador en una horairate()para gráficos ágiles,rate()para alertas- Filtra primero por labels y agrega después — más barato en cardinalidad