Formateador y Validador de consultas PromQL
Guía
Formatea y valida consultas PromQL de forma inmediata
El formateador y validador de consultas PromQL limpia las consultas que escribes contra Prometheus y otras bases de datos de series temporales compatibles. Pega una expresión métrica y la herramienta normaliza el espacio alrededor de los operadores binarios, organiza las agregaciones, llamadas a funciones y coincidentes de etiquetas en líneas separadas cuando la consulta se vuelve larga, y señala paréntesis desbalanceados, llaves mal coincidentes, duraciones faltantes y otros problemas sintácticos antes de que pegues la consulta en un panel o una regla de alerta. Todo se ejecuta localmente en tu navegador, por lo que las consultas —que a menudo revelan nombres internos de métricas y etiquetas— nunca abandonan tu dispositivo.
Cómo Usar
- Pega tu consulta PromQL en la zona de entrada, o sube un
.promqlo archivo de texto usando el selector de archivos. - Elige el ancho de sangría — 2 espacios, 4 espacios o un carácter de tabulación literal — para cualquier expansión en varias líneas.
- Establece una longitud máxima de línea. Las llamadas a funciones, conjuntos de coincidentes de etiquetas y operadores booleanos de baja precedencia (
and,or,unless) se envuelven en líneas separadas una vez que la línea formateada excedería esta anchura. - Palanca Siempre quebrar si deseas que cada agregación, lista de argumentos de llamada a función y conjunto de coincidentes de etiquetas esté en una línea separada independientemente de su longitud.
- Palanca Envolver como regla de registro y proporciona un nombre de métrica (por ejemplo,
job:http_errors:rate5m) para emitir la consulta formateada como una regla de registro lista para pegar en YAML de Prometheus. - Copia la salida formateada o descárgala como un
.promqlarchivo.
Características
- Espaciado consciente de PromQL – Inserta un espacio solo alrededor de operadores aritméticos, de comparación y booleanos, mientras mantiene los coincidentes de etiquetas compactos dentro
{ }de llaves. - Diseño inteligente en múltiples líneas – Rompe consultas largas en
and/or/unlessprimero, luego en límites de argumentos de función, luego en coincidentes individuales de etiquetas para que el resultado siga siendo fácil de escanear. - Soporte para agregaciones y coincidencias de vectores – Reconoce
sum,avg,topk,quantiley amigos junto conby,without,on,ignoring,group_leftygroup_rightmodificadores. - Tokenizador de duración y subconsultas – Analiza rangos compuestos como
1h30my subconsultas como[5m:1m]como unidades únicas para que nunca se divida en medio de un token. - Requiere instalación – Detecta paréntesis, corchetes y llaves desbalanceados, abiertos y cerrados mal coincidentes, cuerpos de coincidentes de etiquetas inválidos, rangos de subíndices inválidos y cadenas no terminadas, cada uno reportado con un número de línea.
- Exportación de regla de registro – Opcionalmente envuelve la consulta formateada como un bloque de regla de registro de Prometheus en YAML, utilizando un escalar de bloque de YAML para expresiones multilínea para preservar la sangría.
Casos de uso común
- Limpiar consultas PromQL informales copiadas de editores de paneles de Grafana antes de incorporarlas a paneles o reglas de alerta.
- Preparar expresiones PromQL para revisiones de código — consultas largas de tasa de error o saturación se vuelven diferencias legibles una vez que cada rama está en una línea separada.
- Detectar errores sintácticos sutiles (duración faltante, coma extra, paréntesis no cerrados
{después de editar coincidentes de etiquetas) sin recorrer a través de una instancia activa de Prometheus. - Convertir consultas brutas en YAML de regla de registro de Prometheus para pipelines de pre-agregación.
- Enseñar PromQL — la salida normalizada hace que la precedencia de operadores y el agrupamiento de agregaciones sean inmediatamente evidentes para lectores que aprenden el lenguaje.
Preguntas frecuentes
-
¿Qué es PromQL?
PromQL (Lenguaje de consulta de Prometheus) es el lenguaje de consulta de lectura utilizado por el sistema de monitoreo Prometheus y por backends compatibles como Thanos, Mimir, Cortex, VictoriaMetrics y Amazon Managed Service for Prometheus. Está diseñado específicamente para datos de series temporales: cada expresión se evalúa como un vector instantáneo, un vector de rango, un escalar o una cadena, y los operadores entienden el matching de conjuntos de etiquetas, agrupación y semántica de tasa en el tiempo que no posee un SQL general.
-
¿Cuál es la diferencia entre un vector instantáneo y un vector de rango?
Un vector instantáneo es el conjunto de muestras de series en un punto específico en el tiempo — por ejemplo, el valor más reciente de cada serie que coincida con http_requests_total. Un vector de rango es el conjunto de muestras durante un intervalo de tiempo, escrito con una duración entre corchetes como [5m]. Los vectores de rango no se pueden mostrar directamente; son entradas para funciones como rate(), increase() y avg_over_time() que reducen el intervalo de tiempo a un vector instantáneo.
-
¿Cómo difieren `by` y `without` en las agregaciones?
Ambos modifican el comportamiento de agrupación de operadores de agregación como sum y avg. La cláusula `by` conserva solo las etiquetas listadas en la salida, por lo que sum by (job) (rate(...)) colapsa todas las etiquetas excepto job. La cláusula `without` conserva todas las etiquetas excepto las listadas, por lo que sum without (instance) (rate(...)) conserva todas las dimensiones adicionales. Las agrupaciones equivalentes pueden escribirse de forma alternativa; los equipos suelen elegir una para mantener la consistencia.
-
¿Qué es una regla de registro y por qué precomputar una?
Una regla de registro es una expresión PromQL nombrada que Prometheus evalúa en un horario y escribe de vuelta como una métrica nueva. Precomputar una expresión compleja — por ejemplo, una tasa de error de 5 minutos por servicio — permite que los paneles y las alertas consulten el resultado directamente en lugar de recomputar toda la expresión en cada actualización. La convención es nombrar las reglas de registro con un patrón nivel:métrica:operación, como job:http_requests_errors:rate5m, para que su significado sea evidente directamente desde el nombre de la métrica.
-
¿Qué hacen `on`, `ignoring`, `group_left` y `group_right`?
Estos términos controlan cómo PromQL coincide series entre los dos lados de una operación binaria. Por defecto, Prometheus requiere conjuntos de etiquetas idénticos en ambos lados; `on(label, ...)` y `ignoring(label, ...)` te permiten restringir o relajar la clave de unión. `group_left` y `group_right` convierten la coincidencia en una unión uno-a-muchos o muchos-a-uno, copiando etiquetas del lado de alta cardinalidad al resultado. Son equivalentes a un indicador de unión en SQL para datos de series temporales.
Instalar extensiones
Agregue herramientas IO a su navegador favorito para obtener acceso instantáneo y búsquedas más rápidas
恵 ¡El marcador ha llegado!
Marcador es una forma divertida de llevar un registro de tus juegos, todos los datos se almacenan en tu navegador. ¡Próximamente habrá más funciones!
Herramientas clave
Ver todo Los recién llegados
Ver todoActualizar: Nuestro última herramienta fue agregado el 17 de junio de 2026
