Zum Inhalt springen

PromQL Explainer · Observability

Verstehen Sie jede PromQL-Abfrage.

Fügen Sie eine PromQL-Abfrage ein und erhalten Sie eine verständliche Aufschlüsselung jeder Klausel in Klartext — Selektoren, Bereiche, rate, Aggregationen und Vergleiche — kostenlos, vollständig in Ihrem Browser, keine Anmeldung erforderlich.

Läuft in Ihrem Browser Keine Anmeldung Kostenlos & offen Aktualisiert am 28.07.2026

PromQL Explainer Playground

query.promql

Tip: press Esc to release focus.

Explanation

Load an example or paste your own PromQL query, then explain it to see a plain-English summary and a token-by-token breakdown here.

Die Lücke

PromQL wird einmal geschrieben und nie wieder gelesen.

Ein PromQL-Alarm ist leicht zu schreiben und schwer wieder zu lesen. Sechs Monate später — oder im Pull Request einer Kollegin oder eines Kollegen — kostet eine Zeile wie sum by (job) (rate(...[5m])) / sum by (job) (rate(...[5m])) > 0.05 echte Mühe zu entschlüsseln: welches Fenster, welche Labels, welcher Schwellenwert und warum überhaupt ein Verhältnis?

Der Explainer verwandelt diese Arbeit in einen Blick. Er parst den Ausdruck und erzählt jede Klausel — den Selektor und seine Matcher, den Bereich, die rate, die sum by-Gruppierung und den abschließenden Vergleich — sodass eine prüfende Person, eine Bereitschaftsingenieurin oder ein Bereitschaftsingenieur oder jede oder jeder, der einen Prometheus-Alarmregelausdruck verstehen möchte, die Absicht lesen kann, ohne die Abfrage im Kopf nachzubauen.

Neu in der Syntax? Überfliegen Sie die Syntax, die wir entschlüsseln, oder probieren Sie das Live-Playground oben aus.

Die Pipeline

So funktioniert es.

Bei jedem Druck auf „Explain“ laufen vier deterministische Schritte durchgängig ab — jedes Mal vollständig in Ihrem Browser-Tab.

  1. Die Abfrage parsen.

    Ihr PromQL-Ausdruck wird in einen Syntaxbaum geparst — Selektoren, Bereiche, Funktionsaufrufe, Aggregationen und binäre Operatoren — dieselbe Form, die Prometheus liest.

  2. Jede Klausel benennen.

    Jeder Knoten wird nach seiner Rolle gekennzeichnet: die Metrik und ihre Label-Matcher, jeder Range-Vektor und Offset, die umschließende Rate oder Aggregation und der Vergleich.

  3. In Klartext übersetzen.

    Jede benannte Klausel wird in einen kurzen, gut lesbaren Satz überführt, der beschreibt, was sie auswählt, berechnet oder festlegt — kein Fachjargon bleibt undefiniert.

  4. Die Aufschlüsselung anzeigen.

    Die annotierten Klauseln werden zu einer verständlichen Zusammenfassung in Klartext plus einer Liste pro Teil zusammengefügt, sodass Sie die Abfrage von oben nach unten oder Teil für Teil lesen können.

Die Syntax

Was es entschlüsselt.

Der Explainer liest standardmäßiges PromQL. Wenn Sie zuvor schon eine Prometheus-Alarm- oder Dashboard-Abfrage geschrieben haben, werden Ihnen diese Beispiele vertraut vorkommen — fügen Sie eines davon in das Playground ein, um die vollständige Aufschlüsselung zu sehen.

Ein Alarmierungs-Verhältnis

Ein klassischer Fehlerraten-Alarm: ein =~ Regex-Matcher auf status, ein 5m-Bereich, eine rate, zwei sum by (job)-Aggregationen, die zu einem Verhältnis geteilt werden, und ein > 0.05 Schwellenwert. Der Explainer benennt jedes Einzelne davon.

error-rate.promql
sum by (job) (
  rate(http_requests_total{status=~"5.."}[5m])
)
/
sum by (job) (
  rate(http_requests_total[5m])
) > 0.05

Ein Latenz-Quantil

Eine p99-Latenzabfrage: histogram_quantile über eine sum by (le) von Bucket-rates. Der Explainer hebt das 0.99-Quantil hervor, die le-Gruppierung, die das Histogramm funktionieren lässt, und das Bereichsfenster.

p99-latency.promql
histogram_quantile(
  0.99,
  sum by (le) (
    rate(http_request_duration_seconds_bucket[5m])
  )
)

Die formale Grammatik finden Sie in den Prometheus Querying-Grundlagen und der Funktionsreferenz.

Ein Hinweis zum Umfang

Der Explainer beschreibt, was eine Abfrage bedeutet, nicht, was sie zurückgibt: Er verbindet sich nie mit einem Prometheus-Server und wertet keine Daten aus. Er deckt die gängigen Alarmierungs- und Dashboard-Muster ab — Selektoren und Matcher, Bereiche und Offsets, rate / increase, die Aggregationsoperatoren, histogram_quantile und Verwandte sowie binäre Vergleiche. Tief verschachtelte Subqueries werden möglicherweise zusammengefasst statt vollständig zerlegt. Betrachten Sie die Ausgabe als getreue Lesart des Ausdrucks, nicht als Ersatz für die offizielle Dokumentation.

FAQ

Fragen, beantwortet.

Tippen Sie auf eine Frage, um die Antwort aufzuklappen.

Der PromQL Explainer ist ein kostenloses, browserbasiertes Tool, das eine Prometheus-PromQL-Abfrage entgegennimmt und in eine verständliche Erklärung in Klartext aufschlüsselt. Es geht jeden Teil des Ausdrucks durch — den Metrik-Selektor und seine Label-Matcher, jeden Bereich oder Offset, die umschließende Rate oder Aggregation sowie den abschließenden Schwellenwertvergleich — damit Sie lesen können, was eine Abfrage tatsächlich tut, ohne sie im Kopf zu zerlegen.

Nein. Der Explainer läuft zu 100 % clientseitig. Ihre Abfrage wird in Ihrem Browser-Tab geparst und erklärt — nichts wird auf einen Server hochgeladen, und es gibt kein Konto und keine Anmeldung. Sie können bedenkenlos Abfragen einfügen, die interne Metrik- oder Label-Namen referenzieren.

Der Explainer deckt die Muster ab, denen Sie in Alarmierung und Dashboards am häufigsten begegnen: Instant- und Range-Vektor-Selektoren mit Label-Matchern (=, !=, =~, !~), Bereichsdauern und Offsets, rate / irate / increase, die Aggregationsoperatoren (sum, avg, max, min, count und Verwandte) mit by / without zur Gruppierung, gängige Funktionen wie histogram_quantile und clamp sowie binäre Vergleiche gegen einen Schwellenwert. Exotische oder tief verschachtelte Subqueries werden möglicherweise zusammengefasst statt vollständig zerlegt.

Prometheus nennt Ihnen das Ergebnis einer Abfrage; der Explainer nennt Ihnen ihre Bedeutung. Er verbindet sich nicht mit einem Prometheus-Server und liefert keine Zeitreihendaten zurück — er liest den Ausdruck selbst und beschreibt die Absicht. Das macht ihn nützlich, um die Alarmregel einer Kollegin oder eines Kollegen zu überprüfen, PromQL zu lernen oder eine Abfrage vor dem Ausliefern auf Plausibilität zu prüfen.

Ja. Da jede Klausel benannt und beschrieben wird, dient der Explainer zugleich als Lernhilfe: Fügen Sie ein Beispiel aus einem Runbook oder Dashboard ein und lesen Sie genau zurück, aus welchem Selektor, Bereich, welcher Aggregation und welchem Vergleich es aufgebaut ist. Kombinieren Sie es mit der offiziellen Prometheus-Dokumentation zum Querying für die formale Grammatik.

Nein. Es handelt sich um ein unabhängiges Community-Tool, das nicht mit dem Prometheus-Projekt oder der Cloud Native Computing Foundation verbunden oder von diesen unterstützt wird. Prometheus ist eine Marke der Linux Foundation. Das Tool bildet die PromQL-Syntax zur Vertrautheit nach und verwendet den Herstellernamen nur, um zu beschreiben, was es erklärt.

rate() berechnet die durchschnittliche Zunahmerate eines Counters pro Sekunde über das Bereichsfenster — zum Beispiel mittelt rate(http_requests_total[5m]) die Zunahme pro Sekunde über die vollen fünf Minuten. Es glättet Spitzen und ist die Standardwahl für Counter-Metriken und Alarmregeln. Der Explainer erkennt rate() und benennt die Bereichsdauer, sodass Sie das Fenster auf einen Blick ablesen können.

rate() mittelt die Zunahme pro Sekunde über den gesamten Range-Vektor und erzeugt stabile Werte, die sich für Alarme und sich langsam ändernde Counter eignen. irate() verwendet nur die letzten beiden Samples im Fenster, was es reaktionsfreudiger, aber verrauschter macht — am besten für das Plotten sich schnell ändernder Counter geeignet, bei denen Sie kurze Spitzen sehen möchten. Der Explainer kennzeichnet, welches der beiden in Ihrer Abfrage vorkommt, und beschreibt sein Verhalten.

Eckige Klammern mit einer Dauer definieren einen Range-Vektor — sie weisen PromQL an, alle Samples für jede übereinstimmende Zeitreihe über dieses Rückblickfenster zurückzugeben. [5m] steht für die letzten fünf Minuten an Daten. Funktionen wie rate(), increase() und avg_over_time() benötigen einen Range-Vektor als Eingabe, daher sind es die Klammern, die diese Funktionen erst funktionieren lassen.

Geschweifte Klammern enthalten eine durch Kommas getrennte Liste von Label-Matchern, die filtern, welche Zeitreihen ausgewählt werden. Der Operator = trifft auf einen exakten Wert zu, != schließt ihn aus, =~ trifft per regulärem Ausdruck zu und !~ schließt per regulärem Ausdruck aus. So wählt {job="api", status!="200"} Zeitreihen aus dem Job api aus und lässt dabei alle mit einem HTTP-200-Status weg. Der Explainer benennt jeden Matcher und seinen Operator in verständlichem Klartext.

Weitere kostenlose, private Observability-Tools.

Der PromQL Explainer ist Teil des OpsCanopy-Observability-Clusters — übersetzen Sie Abfragen mit dem LogQLPromQL Helper, oder testen Sie Ihre Loki-Regeln per Unit-Test mit AlertLint. Jedes läuft vollständig in Ihrem Browser und berührt nie einen Server.

Neu bei Kubernetes?  Zum Kubernetes-Guide →

29 kostenlose Tools, jedes einzelne offlinefähig — opscanopy.com funktioniert ohne Registrierung, und nichts wird hochgeladen.

Arbeiten Sie auch in Loki? Kombinieren Sie dies mit AlertLint, oder durchstöbern Sie das vollständige Tool-Verzeichnis.

Nicht verbunden mit oder unterstützt vom Prometheus-Projekt oder der Cloud Native Computing Foundation. Prometheus ist eine Marke der The Linux Foundation.