Saltar al contenido

Tester de relabel de Prometheus · Observabilidad

Prueba relabel_configs de Prometheus online — antes de que descarten tus métricas.

Este tester de relabeling de Prometheus online te deja probar relabel_configs de Prometheus sin tocar tu servidor: pega una lista de reglas y algunos labels de ejemplo, y observa qué labels sobreviven, se reescriben o provocan que un target sea descartado — con la misma semántica de regex anclada, expansión de $1 y hashmod MD5 que usa Prometheus. Al instante, en tu navegador. Sin instalación, sin registro.

Se ejecuta en tu navegador: nada de lo que pegas sale de esta página. Cómo lo demostramos

Se ejecuta en tu navegador Sin registro Coincide con la semántica de Prometheus Actualizado el 29 jul 2026

Playground del tester de relabel de Prometheus

relabel_configs
label sets

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.

Results

Load an example or paste relabel rules and label sets, then run to see which labels survive, change, or get dropped.

La brecha

El relabeling falla en silencio.

Un relabel_config incorrecto no da error — simplemente descarta sin avisar las métricas que esperabas, o mantiene las que querías silenciar. Las reglas parecen simples, pero la semántica está llena de aristas: la regex está completamente anclada, un replace con un valor vacío borra el label, y hashmod depende de un hash exacto basado en MD5.

La única forma de estar seguro es ejecutar las reglas — pero iterar contra un Prometheus en vivo es lento, y un ejemplo aislado de keep/drop o la referencia de configuración pocas veces te dicen en qué se convertirán tus labels. Este tester aplica las reglas a tus labels de ejemplo aquí mismo, para que puedas confirmar el resultado en segundos — consulta la vida de un label para entender el porqué.

Modela cada acción — replace, keep, drop, labelmap, hashmod y más — sin nada que instalar y sin nada que subir.

Consulta cada acción en la referencia de acciones, o prueba el playground en vivo de arriba.

El pipeline

Cómo funciona.

Cinco pasos deterministas se ejecutan de principio a fin en cada conjunto de labels — todos dentro de la pestaña de tu navegador, cada vez.

  1. Analiza las reglas.

    Tu YAML de relabel_configs se analiza en una lista de reglas, con cada campo predeterminado exactamente como lo hace Prometheus — separator ";", regex "(.*)", replacement "$1", action "replace".

  2. Lee los labels.

    Cada bloque de líneas key=value se convierte en un conjunto de labels. Los valores entre comillas conservan sus comas y espacios; las líneas en blanco separan targets.

  3. Une y ancla.

    Para cada regla, los valores de source_labels se unen con el separador, y la regex se ancla como ^(?:regex)$ antes de hacer el match — tal como lo hace el motor real.

  4. Aplica en orden.

    Las reglas se ejecutan de arriba abajo; cada una ve la salida de la anterior. replace expande $1/${1}, hashmod usa MD5, y keep/drop pueden eliminar el target completo.

  5. Muestra el diff.

    Para cada conjunto obtienes los labels finales con etiquetas de añadido/cambiado, una lista de labels eliminados y una marca clara cuando un target fue descartado — y por qué regla.

Referencia de acciones

Cada acción de relabel, modelada.

El tester implementa el conjunto completo de acciones de relabel_config con un comportamiento exacto al de Prometheus. Esto es lo que hace cada una.

  • replace

    Une source_labels con el separador; si la regex anclada coincide, expande $1/${1} en replacement y asigna target_label. Una expansión vacía BORRA el label.

  • keep / drop

    keep elimina el target completo salvo que el origen unido coincida con la regex; drop lo elimina cuando sí coincide. Ambas deciden si la serie se scrapea o se almacena siquiera.

  • keepequal / dropequal

    Sin regex. Comparan el valor de origen unido con el valor actual de target_label; keepequal mantiene solo en caso de igualdad, dropequal descarta en caso de igualdad.

  • hashmod

    Asigna a target_label el valor md5(origen unido) % modulus — los últimos 8 bytes del MD5 leídos como un uint64 big-endian. Usa la misma receta MD5 que Prometheus, para un sharding horizontal estable.

  • labelmap

    Para cada label cuyo NOMBRE coincida con la regex, asigna un nuevo label nombrado por el replacement expandido con el valor de ese label — p. ej. __meta_kubernetes_pod_label_(.+) → $1.

  • labeldrop / labelkeep

    labeldrop elimina cada label cuyo NOMBRE coincida con la regex; labelkeep elimina cada label cuyo NOMBRE NO coincida. Se usan para podar metadatos de discovery.

  • lowercase / uppercase

    Asigna a target_label el valor de origen unido en minúsculas o en mayúsculas. Práctico para normalizar labels de discovery con mayúsculas inconsistentes.

Reglas de ejemplo

relabel_configs
# 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_.*

Los valores por defecto coinciden con Prometheus: source_labels: [], separator: ";", regex: "(.*)", replacement: "$1", action: replace. Consulta la guía de relabeling para el contexto.

El mismo motor impulsa tanto relabel_configs como metric_relabel_configs — Prometheus aplica una semántica de relabeling idéntica a cada uno.

Sigue adelante

¿Ya tienes los labels bien? Ahora comprueba las consultas y el enrutamiento.

El relabeling moldea las series; lo siguiente es consultarlas y alertar sobre ellas. Desglosa una consulta con el explicador de PromQL, o confirma que una alerta llega al sitio correcto con el tester de rutas de Alertmanager — ambos se ejecutan por completo en tu navegador, igual que este.

FAQ

Tus preguntas, respondidas.

Toca una pregunta para desplegar la respuesta.

Ambos usan exactamente la misma semántica de relabeling; lo único que cambia es la etapa del pipeline en la que se aplican. relabel_configs se ejecuta antes del scrape, sobre los labels del target descubierto, y decide qué se scrapea y con qué labels. metric_relabel_configs se ejecuta después del scrape, sobre cada muestra ya recolectada, justo antes de almacenarla — útil para descartar series ruidosas. Como el motor es idéntico, este tester evalúa los dos igual: pega cualquiera de los dos bloques y verás el mismo comportamiento.

Pega una lista YAML de reglas en un panel y uno o varios conjuntos de labels de ejemplo en el otro, pulsa Ejecutar y lee el resultado para cada target: los labels resultantes, cuáles se añadieron, cambiaron o eliminaron, y si el target completo fue descartado. Es la forma más rápida de simular reglas relabel de Prometheus y confirmar que se comportan como crees antes de llevarlas a un scrape config — todo del lado del cliente, sin iterar contra un Prometheus en vivo.

Casi siempre es por el anclaje de la regex. Prometheus envuelve cada regex de relabel como ^(?:tu-regex)$, así que keep solo conserva el target si el valor de origen unido coincide con el patrón completo, no solo con una parte. Una regex keep de api NO coincidirá con un valor api-server, y el target se descarta. El tester aplica el mismo anclaje y marca cada target descartado con la regla y la acción responsables, así que ves al instante por qué Prometheus descarta tu target en lugar de adivinarlo. Usa (.*) cuando quieras coincidir con una subcadena.

Son opuestas. keep descarta el target salvo que el origen unido coincida con la regex; drop lo descarta cuando sí coincide. Ambas deciden si la serie se scrapea o se almacena siquiera. Sus parientes keepequal y dropequal no usan regex: comparan el valor de origen unido con el valor actual de target_label y mantienen o descartan según la igualdad. El tester etiqueta cada target descartado con la regla y la acción que lo eliminó.

El punto y coma (";"). Cuando una regla declara varios source_labels, Prometheus une sus valores con el separator antes de aplicar la regex, y ese separator vale ";" salvo que lo cambies explícitamente. Así, source_labels: [job, instance] sobre job=api e instance=10.0.0.1 produce la cadena api;10.0.0.1 para el match. El tester usa el mismo valor por defecto, por lo que el valor unido que ves coincide con el de Prometheus.

hashmod une los source_labels, calcula el MD5 del resultado (el mismo md5.Sum que usa Prometheus), lee los últimos 8 bytes de ese digest como un entero de 64 bits big-endian y almacena hash % modulus en el target_label. Este tester reproduce exactamente esa receta, así que los valores de shard que produce coinciden con Prometheus byte por byte. Eso te permite verificar una configuración de sharding horizontal —hashmod a un label temporal y luego keep sobre el shard que te corresponde— antes de desplegarla.

labelmap opera sobre los NOMBRES de los labels, no sobre sus valores. Para cada label cuyo nombre coincida con la regex, copia su valor a un nuevo label cuyo nombre es el reemplazo expandido — el clásico paso de __meta_kubernetes_pod_label_(.+) a un label plano $1. Es distinto de replace, que opera sobre el valor de un único label. El tester ejecuta labelmap (junto con labeldrop y labelkeep) contra los nombres de labels reales de tu conjunto para que veas qué nombres aparecen, se renombran o desaparecen.

No. El tester se ejecuta 100% del lado del cliente. Tus reglas de relabel y tus conjuntos de labels se analizan y evalúan dentro de la pestaña de tu navegador: no se sube nada a un servidor, y no hay cuenta ni registro. Puedes pegar con seguridad scrape configs internos, incluidos metadatos de targets privados y nombres de labels.

More free, private DevOps tools.

El Prometheus Relabel Tester es una herramienta dentro de OpsCanopy — una creciente cubierta de validadores, conversores y probadores basados en navegador que nunca tocan un servidor.

¿Empiezas con Kubernetes?  Lee la guía de Kubernetes →

39 herramientas gratuitas, todas pueden funcionar sin conexión — opscanopy.com funciona sin registro y sin subir nada.

Herramientas relacionadas: el explicador de PromQL y el Alertmanager, el tester de rutas. Explora el directorio completo de herramientas.

No está afiliado, respaldado ni patrocinado por el proyecto Prometheus ni por la Cloud Native Computing Foundation. Prometheus se usa aquí solo de forma descriptiva para identificar el formato relabel_configs que esta herramienta modela.