Anúncios incomodam? Ir Sem anúncios Hoje

Formulador e Validador de Consultas PromQL

DadosDesenvolvedor
ANUNCIADO Remover?

Ou
Chamadas de função e operadores binários são quebradas quando uma linha ultrapassar essa largura.
Usada como o campo `record:`. Deve seguir as regras de nomenclatura do Prometheus (a-z, 0-9, _, :).
ANUNCIADO Remover?

Guia

Formatador e Validador de Consulta PromQL

Formatar e validar consultas PromQL do Prometheus instantaneamente

O PromQL Query Formatter & Validator organiza as consultas que você escreve contra o Prometheus e outros bancos de dados compatíveis de séries temporais. Cole uma expressão métrica e a ferramenta normaliza os espaços ao redor de operadores binários, organiza agregações, chamadas de função e correspondências de rótulos em linhas separadas quando a consulta se torna longa, e aponta erros sintáticos como parênteses desbalanceados, chaves incorretas, faltas de duração e outros problemas antes de você colar a consulta em um painel ou regra de alerta. Tudo é executado localmente no seu navegador, então as consultas — que muitas vezes revelam nomes internos de métricas e rótulos — nunca deixam seu dispositivo.

Como usar

  1. Cole sua consulta PromQL na área de entrada ou carregue um .promql ou arquivo de texto usando o seletor de arquivo.
  2. Escolha a largura da indentação — 2 espaços, 4 espaços ou um caractere literal de tab — para qualquer expansão em múltiplas linhas.
  3. Defina o comprimento máximo de linha. Chamadas de função, conjuntos de correspondência de rótulos e operadores booleanos de baixa precedência (and, or, unless) são quebradas em linhas separadas quando a linha formatada ultrapassar essa largura.
  4. Alternar Sempre quebre se você quiser que cada agregação, lista de argumentos de chamada de função e conjunto de correspondência de rótulos esteja em uma linha separada, independentemente do comprimento.
  5. Alternar Envolver como regra de registro e forneça um nome de métrica (como job:http_errors:rate5m) para emitir a consulta formatada como uma regra de registro pronta para colar em YAML do Prometheus.
  6. Copie a saída formatada ou baixe-a como um .promql arquivo.

Características

  • Espaçamento consciente ao PromQL – Insere um espaço único ao redor de operadores aritméticos, de comparação e booleanos, mantendo os rótulos de correspondência compactos dentro { } chaves.
  • Layout inteligente em múltiplas linhas – Quebra consultas longas em and / or / unless primeiro, depois em limites de argumentos de função, depois em correspondências individuais de rótulos, para manter o resultado fácil de escanear.
  • Suporte a agregação e correspondência de vetores – Reconhece sum, avg, topk, quantile e amigos juntos com by, without, on, ignoring, group_left e group_right modificadores.
  • Tokenizador de duração e subconsulta – Analisa intervalos compostos como 1h30m e subconsultas como [5m:1m] como unidades únicas, para que nunca sejam divididas no meio de um token.
  • Validação de sintaxe – Detecta parênteses, colchetes e chaves desbalanceados, abertos e fechados incorretos, corpos de correspondência de rótulos inválidos, intervalos de subíndice inválidos e strings não terminadas, cada um relatado com um número de linha.
  • Exportação de regra de registro – Opcionalmente envolve a consulta formatada como um bloco de regra de registro do Prometheus em YAML, usando um escalar de bloco YAML para expressões multilinhas para preservar a indentação.

Casos de uso comuns

  • Limpeza de consultas PromQL ad-hoc copiadas de editores de painéis do Grafana antes de commit-las para painéis ou regras de alerta.
  • Preparação de expressões PromQL para revisão de código — consultas longas de taxa de erro ou saturação tornam-se diffs legíveis uma vez que cada ramo está em uma linha separada.
  • Detecção de erros sintáticos sutis (falta de duração, vírgula estranha, parêntese não fechado { após edição de correspondências de rótulos) sem necessidade de passar pela instância do Prometheus ativa.
  • Conversão de consultas brutas em YAML de regra de registro do Prometheus para pipelines de pré-agregação.
  • Ensinar PromQL — a saída normalizada torna a precedência dos operadores e o agrupamento de agregações imediatamente evidentes para leitores aprendendo a linguagem.

Perguntas frequentes

  1. O que é PromQL?

    PromQL (Linguagem de Consulta do Prometheus) é a linguagem de consulta de leitura usada pelo sistema de monitoramento Prometheus e por backends compatíveis, tais como Thanos, Mimir, Cortex, VictoriaMetrics e Amazon Managed Service for Prometheus. É projetada especificamente para dados de séries temporais: cada expressão avalia um vetor instantâneo, um vetor de intervalo, um escalar ou uma string, e os operadores entendem correspondência de conjuntos de rótulos, agrupamento e semântica de taxa ao longo do tempo, algo que uma linguagem SQL geral não faz.

  2. Qual a diferença entre um vetor instantâneo e um vetor de intervalo?

    Um vetor instantâneo é o conjunto de amostras de séries em um ponto específico no tempo — por exemplo, o valor mais recente de todas as séries que correspondem a http_requests_total. Um vetor de intervalo é o conjunto de amostras em um intervalo de tempo, escrito com um intervalo entre colchetes, como [5m]. Vetores de intervalo não podem ser exibidos diretamente; são entradas para funções como rate(), increase() e avg_over_time() que reduzem o intervalo de volta a um vetor instantâneo.

  3. Como `by` e `without` se diferem em agregações?

    Ambos modificam o comportamento de agrupamento de operadores de agregação como sum e avg. A cláusula `by` mantém apenas os rótulos listados na saída, então sum by (job) (rate(...)) colapsa todos os rótulos exceto job. A cláusula `without` mantém todos os rótulos exceto os listados, então sum without (instance) (rate(...)) preserva todas as dimensões exceto instance. Agrupamentos equivalentes podem ser escritos de forma alternativa; as equipes geralmente escolhem uma para consistência.

  4. O que é uma regra de registro e por que pré-computar uma?

    Uma regra de registro é uma expressão PromQL nomeada que o Prometheus avalia em um cronograma e escreve de volta como uma nova métrica. Pré-computar uma expressão complexa — por exemplo, uma taxa de erro de 5 minutos por serviço — permite que painéis e regras de alerta consultem o resultado diretamente, em vez de recomputar toda a expressão em cada atualização. A convenção é nomear regras de registro com um padrão level:metric:operation, como job:http_requests_errors:rate5m, para que seu significado seja evidente apenas a partir do nome da métrica.

  5. O que fazem `on`, `ignoring`, `group_left` e `group_right`?

    Essas palavras-chave controlam como o PromQL corresponde séries entre os dois lados de uma operação binária. Por padrão, o Prometheus exige conjuntos de rótulos idênticos nos dois lados; `on(label, ...)` e `ignoring(label, ...)` permitem restringir ou relaxar a chave de junção. `group_left` e `group_right` transformam a correspondência em uma junção de um para muitos ou de muitos para um, copiando rótulos do lado de alta cardinalidade para o resultado. São equivalentes a um hint de junção em SQL para dados de séries temporais.

Quer eliminar anúncios? Fique sem anúncios hoje mesmo

Instale nossas extensões

Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida

Ao Extensão do Chrome Ao Extensão de Borda Ao Extensão Firefox Ao Extensão Opera

O placar chegou!

Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!

ANUNCIADO Remover?
ANUNCIADO Remover?
ANUNCIADO Remover?

Notícias com destaques técnicos

Envolver-se

Ajude-nos a continuar fornecendo ferramentas gratuitas valiosas

Compre-me um café
ANUNCIADO Remover?