Prometheus Relabel Tester · Observability
Prometheus relabel_configs testen — sehen Sie, was Ihre Regeln tun, bevor sie Metriken verwerfen.
Wenn Sie relabel_configs testen möchten, fügen Sie hier Ihre Regelliste und einige Beispiel-Labels ein und beobachten Sie, welche Labels erhalten bleiben, umgeschrieben werden oder dazu führen, dass ein Target verworfen wird — mit derselben Semantik aus verankertem Regex, $1-Expansion und MD5-hashmod, die Prometheus verwendet. Sofort, online, komplett in Ihrem Browser. Ohne Installation, ohne Anmeldung.
Läuft in Ihrem Browser — nichts, was Sie einfügen, verlässt diese Seite. Wie wir das belegen
Prometheus relabeling Tester online — Playground
Runs entirely in your browser — nothing is uploaded. One label set per block; separate sets with a blank line. Press Esc to release focus from an editor.
Load an example or paste relabel rules and label sets, then run to see which labels survive, change, or get dropped.
Die Lücke
Relabeling schlägt stillschweigend fehl.
Eine falsche relabel_config liefert keinen Fehler — sie verwirft einfach stillschweigend die Metriken, die Sie erwartet haben, oder behält die, die Sie eigentlich verstummen lassen wollten. Die Regeln sehen einfach aus, aber die Semantik steckt voller scharfer Kanten: der Regex ist vollständig verankert, ein replace mit leerem Wert löscht das Label, und hashmod hängt von einem exakten MD5-basierten Hash ab.
Der einzige Weg, sicher zu sein, ist, die Regeln auszuführen — aber das Iterieren gegen ein laufendes Prometheus ist langsam, und die Lektüre der Konfigurationsreferenz verrät Ihnen selten, was aus Ihren Labels wird. Dieser Tester wendet die Regeln direkt hier auf Ihre Beispiel-Labels an, sodass Sie das Ergebnis in Sekunden bestätigen können — das Warum erklärt „the life of a label“.
Er bildet jede Aktion nach — replace, keep, drop, labelmap, hashmod und mehr — ohne dass etwas zu installieren und ohne dass etwas hochgeladen wird.
Sehen Sie jede Aktion in der Aktionsreferenz, oder probieren Sie das Live-Playground oben aus.
Die Pipeline
So simulieren Sie Ihre Relabel-Regeln in Prometheus.
Fünf deterministische Schritte laufen bei jedem Labelsatz von Anfang bis Ende durch — jedes Mal komplett in Ihrem Browser-Tab.
-
Die Regeln parsen.
Ihr relabel_configs-YAML wird in eine Liste von Regeln geparst, wobei jedes Feld exakt wie bei Prometheus vorbelegt wird — separator ";", regex "(.*)", replacement "$1", action "replace".
-
Die Labels einlesen.
Jeder Block aus key=value-Zeilen wird zu einem Labelsatz. Werte in Anführungszeichen behalten ihre Kommas und Leerzeichen; Leerzeilen trennen Targets.
-
Zusammenfügen und verankern.
Für jede Regel werden die source_labels-Werte mit dem Separator zusammengefügt, und der Regex wird vor dem Abgleich als ^(?:regex)$ verankert — so wie es die echte Engine tut.
-
Der Reihe nach anwenden.
Die Regeln laufen von oben nach unten; jede sieht die Ausgabe der vorherigen. replace expandiert $1/${1}, hashmod verwendet MD5, und keep/drop können das ganze Target entfernen.
-
Den Diff zeigen.
Für jeden Satz erhalten Sie die finalen Labels mit Markierungen für hinzugefügt/geändert, eine Liste der entfernten Labels und einen klaren Hinweis, wenn ein Target verworfen wurde — und durch welche Regel.
Aktionsreferenz
Jede Relabel-Aktion, nachgebildet.
Der Tester implementiert den vollständigen Satz an relabel_config-Aktionen mit Prometheus-exaktem Verhalten. Hier ist, was jede einzelne tut.
-
replace
Fügt source_labels mit dem Separator zusammen; passt der verankerte Regex, wird $1/${1} in replacement expandiert und target_label gesetzt. Eine leere Expansion LÖSCHT das Label.
-
keep / drop
keep entfernt das gesamte Target, es sei denn, die zusammengefügte Quelle passt auf den Regex; drop entfernt es, wenn sie passt. Beide entscheiden, ob die Serie überhaupt gescrapt oder gespeichert wird.
-
keepequal / dropequal
Kein Regex. Vergleicht den zusammengefügten Quellwert mit dem aktuellen target_label-Wert; keepequal behält nur bei Gleichheit, dropequal verwirft bei Gleichheit.
-
hashmod
Setzt target_label auf md5(zusammengefügte Quelle) % modulus — die letzten 8 MD5-Bytes als Big-Endian-uint64 gelesen. Verwendet dasselbe MD5-Verfahren wie Prometheus, für stabiles horizontales Sharding.
-
labelmap
Setzt für jedes Label, dessen NAME auf den Regex passt, ein neues Label, das durch die expandierte Ersetzung benannt wird, auf den Wert dieses Labels — z. B. __meta_kubernetes_pod_label_(.+) → $1.
-
labeldrop / labelkeep
labeldrop entfernt jedes Label, dessen NAME auf den Regex passt; labelkeep entfernt jedes Label, dessen NAME NICHT passt. Wird verwendet, um Discovery-Metadaten zu beschneiden.
-
lowercase / uppercase
Setzt target_label auf den klein- oder großgeschriebenen zusammengefügten Quellwert. Praktisch zum Normalisieren von Discovery-Labels mit uneinheitlicher Groß-/Kleinschreibung.
Beispielregeln
# Promote a Kubernetes pod label, then drop a noisy metric.
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__name__]
action: drop
regex: go_gc_.* Die Standardwerte entsprechen Prometheus: source_labels: [], separator: ";", regex: "(.*)", replacement: "$1", action: replace. Den Kontext liefert der Relabeling-Leitfaden.
Dieselbe Engine treibt sowohl relabel_configs als auch metric_relabel_configs an — Prometheus wendet auf beide identische Relabeling-Semantik an.
Weitermachen
Die Labels stimmen? Jetzt prüfen Sie die Queries und das Routing.
Relabeling formt die Serien; was Sie als Nächstes tun, ist, sie abzufragen und darauf zu alarmieren. Zerlegen Sie eine Query mit dem PromQL-Explainer, oder bestätigen Sie mit dem Alertmanager-Route-Tester, dass ein Alert am richtigen Ort landet — beide laufen vollständig in Ihrem Browser, genau wie dieses.
FAQ
Fragen, beantwortet.
Tippen Sie auf eine Frage, um die Antwort aufzuklappen.
Was ist der Unterschied zwischen relabel_configs und metric_relabel_configs?
Beide verwenden dieselbe Relabeling-Semantik — nur die Stufe in der Pipeline unterscheidet sich. relabel_configs läuft vor dem Scrape und entscheidet anhand der Discovery-Labels, welche Targets überhaupt gescrapt werden und mit welchen Labels. metric_relabel_configs läuft nach dem Scrape und arbeitet auf den eingelesenen Serien, etwa um teure Metriken zu verwerfen oder Labels zu bereinigen, bevor sie gespeichert werden. Dieselbe Engine in diesem Tester verarbeitet beide, weil Prometheus auf beide identische Regeln anwendet.
Wie kann ich Prometheus relabel_configs testen, bevor ich sie ausrolle?
Sie fügen in einem Bereich Ihre relabel_configs als YAML-Liste ein und in den anderen einen oder mehrere Beispiel-Labelsätze, klicken auf Run und lesen das Ergebnis für jedes Target ab: die resultierenden Labels, welche hinzugefügt, geändert oder entfernt wurden, und ob das gesamte Target verworfen wurde. So können Sie Ihre Relabel-Regeln simulieren und bestätigen, dass sie sich wie erwartet verhalten, bevor Sie sie in eine echte Scrape-Konfiguration übernehmen — ohne ein laufendes Prometheus.
Warum wird mein Prometheus Target durch eine keep-Regel verworfen?
Meist, weil der Regex vollständig verankert ist. Prometheus umschließt jeden Relabel-Regex als ^(?:your-regex)$, das Muster muss also den gesamten zusammengefügten Quellwert treffen, nicht nur einen Teil davon — ein Regex von api passt NICHT auf api-server. Ein keep verwirft das Target, sobald die Quelle NICHT passt. Der Tester markiert jedes verworfene Target mit der verantwortlichen Regel und Aktion, sodass sofort sichtbar ist, warum ein Target verworfen wird. Verwenden Sie (.*) oder explizite Capture-Gruppen, wenn Sie einen Teilstring treffen wollen.
Wie unterscheidet sich die keep-Aktion von der drop-Aktion beim Relabeling?
Ein einfaches Beispiel für keep und drop: keep verwirft das Target, es sei denn, die zusammengefügte Quelle passt auf den Regex; drop verwirft es genau dann, wenn sie passt. keep ist eine Whitelist (nur Treffer überleben), drop eine Blacklist (Treffer fliegen raus). Daneben gibt es keepequal und dropequal, die keinen Regex nutzen, sondern den zusammengefügten Quellwert mit dem aktuellen target_label-Wert vergleichen und bei Gleichheit behalten bzw. verwerfen. Beide Regelarten entscheiden, ob die Serie überhaupt gescrapt oder gespeichert wird.
Was ist der Standard-Separator beim Zusammenfügen mehrerer source_labels?
Der Standard-Separator ist ein Semikolon (";"). Listet eine Regel mehrere source_labels auf, fügt Prometheus deren Werte mit diesem Separator zu einer einzigen Zeichenkette zusammen, bevor der Regex darauf abgeglichen wird. Sie können den separator pro Regel überschreiben. Der Tester verwendet exakt denselben Standard, sodass die zusammengefügte Quelle hier genau so aussieht wie in Prometheus.
Wie funktioniert hashmod beim Prometheus-Relabeling?
hashmod fügt die Quell-Labels zusammen, bildet den MD5 des Ergebnisses (dasselbe md5.Sum, das Prometheus verwendet), liest die letzten 8 Bytes dieses Digests als 64-Bit-Integer in Big-Endian-Reihenfolge und speichert hash % modulus im Target-Label. Dieser Tester bildet genau dieses Verfahren nach, sodass die erzeugten Shard-Werte Byte für Byte mit Prometheus übereinstimmen. So verifizieren Sie ein horizontales Sharding-Setup — hashmod in ein temporäres Label, dann keep auf dem Shard, der Ihnen gehört —, bevor Sie es ausrollen.
Was macht die labelmap-Aktion in relabel_configs?
labelmap operiert auf Label-NAMEN, nicht auf Werten. Es kopiert den Wert jedes Labels, dessen Name auf den Regex passt, in ein neues Label, das durch die expandierte Ersetzung benannt wird — die klassische Verschiebung von __meta_kubernetes_pod_label_(.+) zu einem einfachen Label namens $1. Verwandt sind labeldrop (entfernt jedes Label, dessen Name passt) und labelkeep (entfernt jedes Label, dessen Name NICHT passt). Der Tester führt alle drei gegen die tatsächlichen Label-Namen in Ihrem Satz aus.
Sendet dieser Prometheus Relabel Tester meine Labels an einen Server?
Nein. Der Tester läuft zu 100 % clientseitig. Ihre Relabel-Regeln und Labelsätze werden in Ihrem Browser-Tab geparst und ausgewertet — nichts wird auf einen Server hochgeladen, und es gibt kein Konto und keine Anmeldung. Sie können bedenkenlos interne Scrape-Konfigurationen einfügen, einschließlich privater Target-Metadaten und Label-Namen.
More free, private DevOps tools.
Der Prometheus Relabel Tester ist eines von vielen Tools in OpsCanopy — einem wachsenden Schirm browserbasierter Validatoren, Konverter und Tester, die niemals einen Server berühren.
Mehr aus Observability
Mehr dazu lesen
- Warum hat Prometheus mein Target verworfen? relabel_configs debuggen Ein Target ist verschwunden oder ein Label ist nach dem Relabeling weg. relabel_configs vs. metric_relabel_configs debuggen, Regex-Anker und keep/drop-Logik verstehen.
- Prometheus relabel_configs erklärt: Ein Praxisleitfaden Verstehe Prometheus relabel_configs von Anfang bis Ende — source_labels, regex, replacement und jede Action (replace, keep, drop, labelmap, hashmod) — mit Rezepten zum Kopieren und Einfügen.
Neu bei Kubernetes? Zum Kubernetes-Guide →
39 kostenlose Tools, jedes einzelne offlinefähig — opscanopy.com funktioniert ohne Registrierung, und nichts wird hochgeladen.
Verwandte Tools: der PromQL-Explainer und der Alertmanager-Route-Tester. Durchsuchen Sie das vollständige Tools-Verzeichnis.
Nicht verbunden mit, unterstützt von oder gesponsert durch das Prometheus-Projekt oder die Cloud Native Computing Foundation. Prometheus wird hier ausschließlich beschreibend verwendet, um das relabel_configs-Format zu kennzeichnen, das dieses Tool nachbildet.