Testeur de relabel Prometheus · Observabilité
Tester les relabel_configs Prometheus — avant qu’ils n’abandonnent vos métriques.
Tester les relabel_configs Prometheus en ligne : collez vos règles et quelques étiquettes d’exemple, et observez en direct ce qui est conservé, réécrit ou supprimé, et pourquoi une cible est abandonnée — avec les mêmes sémantiques de regex ancrée, d’expansion $1 et de hashmod MD5 qu’utilise Prometheus. Ce testeur de relabeling Prometheus en ligne est instantané, dans votre navigateur, sans installation ni inscription.
S’exécute dans votre navigateur — rien de ce que vous collez ne quitte cette page. Comment nous le prouvons
Testeur de relabeling Prometheus en ligne — simulez vos règles relabel
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.
La faille
Le relabeling échoue en silence.
Un relabel_config erroné ne renvoie pas d’erreur — il abandonne simplement et discrètement les métriques que vous attendiez, ou conserve celles que vous vouliez taire. Les règles semblent simples, mais les sémantiques regorgent d’arêtes vives : la regex est entièrement ancrée, un replace avec une valeur vide supprime l’étiquette, et hashmod dépend d’un hachage exact basé sur MD5.
La seule façon d’en être sûr est d’exécuter les règles — mais itérer sur un Prometheus en production est lent, et lire la référence de configuration vous dit rarement ce que vos étiquettes deviendront. Ce testeur applique les règles à vos étiquettes d’exemple ici même, afin que vous puissiez confirmer le résultat en quelques secondes — voir la vie d’une étiquette pour le pourquoi.
Il vous permet de simuler des règles relabel Prometheus pour chaque action — replace, keep, drop, labelmap, hashmod et plus encore — sans rien à installer et sans rien envoyer.
Voir chaque action dans la référence des actions, ou essayez l’espace d’essai en direct ci-dessus.
Le pipeline
Comment ça marche.
Cinq étapes déterministes s’exécutent de bout en bout sur chaque ensemble d’étiquettes — entièrement dans votre onglet de navigateur, à chaque fois.
-
Analyser les règles.
Votre YAML relabel_configs est analysé en une liste de règles, chaque champ étant doté de sa valeur par défaut exactement comme dans Prometheus — separator ";", regex "(.*)", replacement "$1", action "replace".
-
Lire les étiquettes.
Chaque bloc de lignes clé=valeur devient un ensemble d’étiquettes. Les valeurs entre guillemets conservent leurs virgules et leurs espaces ; les lignes vides séparent les cibles.
-
Joindre et ancrer.
Pour chaque règle, les valeurs de source_labels sont jointes avec le séparateur, et la regex est ancrée sous la forme ^(?:regex)$ avant la mise en correspondance — exactement comme le fait le vrai moteur.
-
Appliquer dans l’ordre.
Les règles s’exécutent de haut en bas ; chacune voit la sortie de la précédente. replace développe $1/${1}, hashmod utilise MD5, et keep/drop peuvent supprimer la cible entière.
-
Montrer le diff.
Pour chaque ensemble, vous obtenez les étiquettes finales avec des marqueurs ajoutées/modifiées, une liste des étiquettes supprimées, et un indicateur clair lorsqu’une cible a été abandonnée — et par quelle règle.
Référence des actions
Chaque action de relabel, modélisée.
Le testeur implémente l’ensemble complet des actions relabel_config avec un comportement exactement conforme à Prometheus. Voici ce que fait chacune.
-
replace
Joint source_labels avec le séparateur ; si la regex ancrée correspond, développe $1/${1} dans replacement et définit target_label. Une expansion vide SUPPRIME l’étiquette.
-
keep / drop
keep supprime la cible entière sauf si la source jointe correspond à la regex ; drop la supprime lorsqu’elle correspond. Les deux décident si la série est scrappée ou stockée.
-
keepequal / dropequal
Sans regex. Compare la valeur source jointe à la valeur actuelle de target_label ; keepequal conserve uniquement en cas d’égalité, dropequal abandonne en cas d’égalité.
-
hashmod
Définit target_label à md5(source jointe) % modulus — les 8 derniers octets MD5 lus comme un uint64 big-endian. Utilise la même recette MD5 que Prometheus, pour un sharding horizontal stable.
-
labelmap
Pour chaque étiquette dont le NOM correspond à la regex, définit une nouvelle étiquette nommée par le remplacement développé avec la valeur de cette étiquette — p. ex. __meta_kubernetes_pod_label_(.+) → $1.
-
labeldrop / labelkeep
labeldrop supprime chaque étiquette dont le NOM correspond à la regex ; labelkeep supprime chaque étiquette dont le NOM ne correspond PAS. Utilisé pour élaguer les métadonnées de découverte.
-
lowercase / uppercase
Définit target_label à la valeur source jointe en minuscules ou en majuscules. Pratique pour normaliser les étiquettes de découverte à la casse incohérente.
Règles d’exemple
# 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_.* Les valeurs par défaut correspondent à Prometheus : source_labels: [], separator: ";", regex: "(.*)", replacement: "$1", action: replace. Voir le guide du relabeling pour le contexte.
Le même moteur alimente à la fois relabel_configs et metric_relabel_configs — Prometheus applique des sémantiques de relabeling identiques à chacun.
Continuez
Les étiquettes sont bonnes ? Vérifiez maintenant les requêtes et le routage.
Le relabeling façonne les séries ; ce que vous faites ensuite, c’est les interroger et les alerter. Décomposez une requête avec l’explorateur PromQL, ou confirmez qu’une alerte arrive au bon endroit avec le testeur de route Alertmanager — les deux s’exécutent entièrement dans votre navigateur, tout comme celui-ci.
FAQ
Vos questions, nos réponses.
Appuyez sur une question pour afficher la réponse.
Quelle est la différence entre relabel_configs et metric_relabel_configs ?
Les deux appliquent des sémantiques de relabeling identiques ; seule l’étape du pipeline diffère. relabel_configs s’exécute avant le scraping : il agit sur les étiquettes de découverte de la cible et décide notamment si celle-ci est scrappée. metric_relabel_configs s’exécute après le scraping, sur chaque échantillon ramené, pour renommer, élaguer ou abandonner des séries individuelles. Comme le moteur est le même, vous pouvez simuler des règles relabel Prometheus pour l’un ou l’autre dans ce testeur sans rien changer.
Comment tester les relabel_configs Prometheus avant de les déployer ?
Collez votre liste YAML de relabel_configs dans un volet et un ou plusieurs ensembles d’étiquettes d’exemple dans l’autre, puis appuyez sur Exécuter. Le testeur applique les règles exactement comme Prometheus et affiche, pour chaque cible, les étiquettes finales, celles qui ont été ajoutées ou réécrites, celles supprimées, et si la cible entière a été abandonnée. C’est le moyen le plus rapide de tester les relabel_configs Prometheus en ligne et de confirmer leur comportement avant de les livrer dans une configuration de scraping — sans itérer sur un Prometheus en production.
Pourquoi ma cible Prometheus est-elle supprimée par une règle keep ?
Une règle keep abandonne la cible sauf si la valeur source jointe correspond à la regex ancrée. Si votre cible disparaît, c’est presque toujours que la regex ne correspond pas à l’intégralité de la valeur : Prometheus encadre chaque motif sous la forme ^(?:votre-regex)$, donc une regex de api ne correspond PAS à api-server. Le testeur marque chaque cible abandonnée avec la règle et l’action responsables, ce qui répond directement à la question « pourquoi ma cible Prometheus est supprimée par le relabel » — utilisez (.*) autour du fragment recherché pour faire correspondre une sous-chaîne.
Quelle est la différence entre l’action keep et l’action drop dans le relabeling ?
keep et drop sont symétriques. keep conserve la cible uniquement quand la source jointe correspond à la regex et l’abandonne sinon ; drop fait l’inverse : il abandonne la cible quand elle correspond. Un exemple de relabel keep/drop : keep avec regex: production ne garde que les cibles dont l’étiquette correspond à « production », tandis que drop avec la même regex supprimerait exactement ces cibles. Les deux décident si la série est scrappée ou stockée — collez les deux variantes dans le testeur pour voir le résultat opposé côte à côte.
Quel est le séparateur par défaut lorsqu’on combine plusieurs source_labels ?
Le séparateur par défaut est le point-virgule « ; ». Quand une règle liste plusieurs source_labels, Prometheus concatène leurs valeurs avec ce séparateur avant d’appliquer la regex. Par exemple, source_labels: [job, instance] sur job="api", instance="10.0.0.1:9090" produit la chaîne jointe api;10.0.0.1:9090. Vous pouvez le redéfinir avec le champ separator. Le testeur utilise la même valeur par défaut, vous voyez donc exactement la valeur jointe contre laquelle la regex est mise en correspondance.
Comment fonctionne hashmod dans le relabeling Prometheus ?
hashmod joint les étiquettes source, calcule le MD5 du résultat (le même md5.Sum que celui utilisé par Prometheus), lit les 8 derniers octets de ce condensé comme un entier 64 bits big-endian, et stocke hash % modulus dans target_label. Ce testeur reproduit exactement cette recette, donc les valeurs de shard qu’il produit correspondent à Prometheus octet pour octet. Cela permet de vérifier un sharding horizontal — hashmod vers une étiquette temporaire, puis keep sur le shard que vous possédez — avant de le déployer.
Que fait l’action labelmap dans les relabel_configs ?
labelmap agit sur les NOMS d’étiquettes, pas sur leurs valeurs. Pour chaque étiquette dont le nom correspond à la regex, elle crée une nouvelle étiquette nommée par le remplacement développé, avec la valeur de l’étiquette d’origine — c’est le classique passage de __meta_kubernetes_pod_label_(.+) vers une étiquette simple. À l’inverse, labeldrop supprime chaque étiquette dont le nom correspond, et labelkeep supprime celles dont le nom ne correspond PAS. Le testeur exécute les trois sur les noms d’étiquettes réels de votre ensemble.
Ce testeur de relabel Prometheus envoie-t-il mes étiquettes à un serveur ?
Non. Ce testeur de relabeling Prometheus en ligne s’exécute à 100 % côté client. Vos règles de relabel et vos ensembles d’étiquettes sont analysés et évalués à l’intérieur de votre onglet de navigateur — rien n’est envoyé à un serveur, et il n’y a ni compte ni inscription. Vous pouvez donc coller en toute sécurité des configurations de scraping internes, y compris des métadonnées de cible privées et des noms d’étiquettes.
More free, private DevOps tools.
Le testeur de relabel Prometheus est l’un des outils de OpsCanopy — une canopée grandissante de validateurs, de convertisseurs et de testeurs basés sur le navigateur qui ne touchent jamais à un serveur.
Plus dans Observabilité
En savoir plus
- Pourquoi Prometheus a-t-il supprimé ma cible ? Déboguer les relabel_configs Une cible a disparu ou un label s'est volatilisé après le relabeling. Déboguez les relabel_configs de Prometheus face aux metric_relabel_configs, l'ancrage des regex et la logique keep/drop.
- Comprendre les relabel_configs de Prometheus : guide pratique Maîtrisez les relabel_configs de Prometheus de bout en bout — source_labels, regex, replacement et chaque action (replace, keep, drop, labelmap, hashmod) — avec des recettes prêtes à copier-coller.
Vous débutez avec Kubernetes ? Lire le guide Kubernetes →
39 outils gratuits, tous utilisables hors ligne — opscanopy.com fonctionne sans inscription et sans rien téléverser.
Outils connexes : l’explorateur PromQL et le testeur de route Alertmanager. Parcourez le répertoire complet des outils.
Non affilié au projet Prometheus ou à la Cloud Native Computing Foundation, ni approuvé ou sponsorisé par eux. Prometheus n’est utilisé ici qu’à titre descriptif pour identifier le format relabel_configs que cet outil modélise.