Keine Werbung mögen? Gehen Werbefrei Heute

PromQL-Abfrage-Formatter & -Validierer

DatenEntwickler
ANZEIGE Entfernen?

Oder
Funktionen und binäre Operatoren werden bei Überschreitung dieser Breite automatisch umgebrochen.
Wird als `record:`-Feld verwendet. Muss die Prometheus-Namensregeln (a-z, 0-9, _, :) einhalten.
ANZEIGE Entfernen?

Führung

PromQL-Abfrage-Formatter & Validator

Formatieren und Validieren von Prometheus-PromQL-Abfragen sofort

Der PromQL-Abfrage-Formatter & Validator bereinigt die Abfragen, die Sie gegen Prometheus und andere kompatible Zeitreihendatenbanken schreiben, und stellt sicher, dass die Abfragezeichen um binäre Operatoren, Aggregationen, Funktionsaufrufe und Label-Matcher auf eigene Zeilen gelegt werden, wenn die Abfrage lang wird. Außerdem zeigt er unbalancierte Klammern, fehlende Klammern, fehlende Dauer und andere syntaktische Probleme auf, bevor Sie die Abfrage in ein Dashboard oder eine Warnungsregel eingeben. Alle Vorgänge erfolgen lokal in Ihrem Browser, sodass die Abfragen – die oft interne Metriknamen und Labels enthält – nie Ihr Gerät verlassen.

Nutzung

  1. Fügen Sie Ihre PromQL-Abfrage in das Eingabefeld ein oder laden Sie eine .promql oder Textdatei über das Dateiwähler-Element hoch.
  2. Wählen Sie die Einrückungsbreite – 2 Leerzeichen, 4 Leerzeichen oder ein Literal-Tabelle-Zeichen – für jede mehrzeilige Erweiterung.
  3. Legen Sie eine maximale Zeilenlänge fest. Funktionen, Label-Matcher-Listen und niedrige Präzedenz-Boolean-Operatoren (and, or, unless) werden auf eine eigene Zeile umgebrochen, sobald die formatierte Zeile diese Breite überschreiten würde.
  4. Umschalten Stets trennen wenn Sie jede Aggregation, Funktionsaufrufargumentliste und Label-Matcher-Liste auf eine eigene Zeile trennen möchten, unabhängig von der Länge.
  5. Umschalten Als Eintrag-Regel formatieren und geben Sie einen Metriknamen (z. B. job:http_errors:rate5m) ein, um die formatierte Abfrage als bereit zum Kopieren Prometheus-Eintrag-Regel in YAML auszugeben.
  6. Kopieren Sie das formatierte Ergebnis oder speichern Sie es als .promql Datei.

Funktionen

  • PromQL-bewusste Abstandseinstellung – Fügt einen einzigen Abstand um arithmetische, vergleichende und boolesche Operatoren ein, während Label-Matcher innerhalb der { } Klammern eng bleiben.
  • Intelligente mehrzeilige Layout-Struktur – Teilt lange Abfragen zuerst an and / or / unless dann an Funktionsargumentgrenzen und dann an einzelne Label-Matcher, sodass das Ergebnis leicht zu scannen ist.
  • Unterstützung für Aggregationen und Vektor-Matching – Erkennung von sum, avg, topk, quantile und Freunde zusammen mit by, without, on, ignoring, group_left und group_right Modifikatoren.
  • Dauer- und Unterverweis-Parser – Parsen komplexer Zeitfenster wie 1h30m und Unterverweise wie [5m:1m] als einzelne Einheiten, sodass sie niemals mitten in einem Token unterbrochen werden.
  • Syntaxvalidierung – Erkennung unbalancierter Klammern, Klammern und geschweifte Klammern, unpassender Öffnungs- und Schließungszeichen, ungültiger Label-Matcher-Body, ungültiger Unterverweise und unendliche Zeichenketten, jeweils mit einer Zeilennummer angegeben.
  • Eintrag-Regel-Export – Optional formatiert die Abfrage als Prometheus-YAML-Eintrag-Regel-Block, wobei ein YAML-Literal-Block-Skalar für mehrzeilige Ausdrücke verwendet wird, um Einrückung zu erhalten.

Häufige Anwendungsfälle

  • Bereinigung von zufälligen Prometheus-Abfragen, die aus Grafana-Panel-Editoren kopiert wurden, bevor sie in Dashboards oder Warnungsregeln eingefügt werden.
  • Vorbereitung von PromQL-Ausdrücken für Code-Review – lange Fehler-Rate- oder Sättigungsabfragen werden lesbar, sobald jeder Zweig auf einer eigenen Zeile steht.
  • Erkennung feiner Syntaxfehler (fehlende Dauer, zusätzliche Komma, ungeschlossene { nach der Bearbeitung von Label-Matchern), ohne durch eine live Prometheus-Instanz zu gehen.
  • Konvertierung von Rohabfragen in Prometheus-Eintrag-Regel-YAML für vorab aggregierte Pipelines.
  • Lernen von PromQL – das normalisierte Ergebnis macht die Operator-Präzedenz und Aggregationengruppierung sofort für Leser, die die Sprache lernen, offensichtlich.

Häufig gestellte Fragen

  1. Was ist PromQL?

    PromQL (Prometheus-Abfrage-Sprache) ist die Leseseite-Abfragesprache des Prometheus-Monitoring-Systems und von kompatiblen Backends wie Thanos, Mimir, Cortex, VictoriaMetrics und Amazon Managed Service for Prometheus. Es ist speziell für Zeitreihendaten konzipiert: Jeder Ausdruck ergibt einen Instant-Vektor, einen Range-Vektor, einen Skalar oder einen String, und Operatoren verstehen Label-Set-Matching, Gruppierung und Rate-over-Time-Semantik, die allgemeine SQL nicht versteht.

  2. Welcher Unterschied besteht zwischen einem Instant-Vektor und einem Range-Vektor?

    Ein Instant-Vektor ist die Menge an Zeitreihenproben zu einem bestimmten Zeitpunkt – beispielsweise das neueste Wert jeder Serie, die http_requests_total entspricht. Ein Range-Vektor ist die Menge an Proben über einen Zeitfenster, geschrieben mit einem eckigen Zeitfenster wie [5m]. Range-Vektoren können nicht direkt angezeigt werden; sie sind Eingaben für Funktionen wie rate(), increase() und avg_over_time(), die das Fenster zurück auf einen Instant-Vektor zusammenziehen.

  3. Wie unterscheiden sich `by` und `without` bei Aggregationen?

    Beide verändern das Gruppierungsverhalten von Aggregationsoperatoren wie sum und avg. Die by-Klausel behält nur die aufgeführten Labels im Ergebnis, sodass sum by (job) (rate(...)) alle Labels außer job zusammenfasst. Die without-Klausel behält alle Labels außer den aufgeführten, sodass sum without (instance) (rate(...)) alle anderen Dimensionen beibehält. Äquivalente Gruppierungen können entweder so oder so geschrieben werden; Teams wählen normalerweise eine für Konsistenz.

  4. Was ist eine Eintrag-Regel und warum wird eine vorausgerechnet?

    Eine Eintrag-Regel ist ein benannter PromQL-Ausdruck, der von Prometheus auf einem Zeitplan ausgewertet und als neue Metrik zurückgegeben wird. Die Vorausrechnung komplexer Ausdrücke – beispielsweise eine 5-minütige Fehlerrate pro Dienst – ermöglicht es Dashboards und Warnungen, direkt auf das Ergebnis zuzugreifen, anstatt die ganze Ausdruck jedes Mal neu zu berechnen. Die Konvention ist, Eintrag-Regeln mit einem Muster level:metric:operation zu benennen, wie beispielsweise job:http_requests_errors:rate5m, sodass ihre Bedeutung aus dem Metriknamen allein erkennbar ist.

  5. Was tun `on`, `ignoring`, `group_left` und `group_right`?

    Diese Schlüsselwörter steuern, wie PromQL Serien auf beiden Seiten eines binären Operations verbindet. Standardmäßig erfordert Prometheus identische Labelmengen auf beiden Seiten; `on(label, ...)` und `ignoring(label, ...)` ermöglichen die Beschränkung oder Lockerung des Join-Schlüssels. `group_left` und `group_right` machen die Verbindung zu einer ein-zu-viele oder viele-zu-ein Verbindung, indem sie Labels aus der hochdimensionalen Seite auf das Ergebnis kopieren. Sie sind das Äquivalent eines SQL-Verbindungs-Hinweises für Zeitreihendaten.

Möchten Sie werbefrei genießen? Werde noch heute werbefrei

Erweiterungen installieren

IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche

Zu Chrome-Erweiterung Zu Kantenerweiterung Zu Firefox-Erweiterung Zu Opera-Erweiterung

Die Anzeigetafel ist eingetroffen!

Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!

ANZEIGE Entfernen?
ANZEIGE Entfernen?
ANZEIGE Entfernen?

Nachrichtenecke mit technischen Highlights

Beteiligen Sie sich

Helfen Sie uns, weiterhin wertvolle kostenlose Tools bereitzustellen

Kauf mir einen Kaffee
ANZEIGE Entfernen?