PromQL-Spickzettel: häufige Queries mit Beispielen
Fertige PromQL-Ausdrücke für typische Monitoring-Aufgaben: rate auf Countern, Aggregationen, Quantile aus Histogrammen, Top-N und Alert-Vorlagen. Kopieren und an die eigenen Metriken anpassen.
Selektoren und Matcher
http_requests_total{job="api", code=~"5.."}=exakte Übereinstimmung,!=Negation=~Regex-Treffer,!~Regex-Negation
Rate auf Countern
sum(rate(http_requests_total[5m])) by (code)rate() ist für Counter (monoton steigend). Das Fenster [5m] muss mindestens 4 Scrapes abdecken.
Aggregationen
avg by (instance) (node_load1)
topk(5, sum by (pod) (container_memory_working_set_bytes))Quantile aus Histogrammen
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))Nach le nur innerhalb von histogram_quantile gruppieren.
Fehlerrate
sum(rate(http_requests_total{code=~"5.."}[5m]))
/
sum(rate(http_requests_total[5m]))Alert-Vorlagen
# Host ist nicht erreichbar
up{job="node"} == 0
# CPU über 90% für fünf Minuten
avg by (instance) (rate(node_cpu_seconds_total{mode!="idle"}[5m])) > 0.9
# Festplatte läuft bald voll
predict_linear(node_filesystem_avail_bytes[6h], 4*3600) < 0Tipps
increase(x[1h])— gesamtes Counter-Wachstum über eine Stundeirate()für flotte Graphen,rate()für Alerts- Erst nach Labels filtern, dann aggregieren — günstiger bei der Kardinalität