Monitoring and Logging
medium

Monitoring and Logging Question #019e3a4f

Question Statement
Monitoring and Logging
#promql
#prometheus
#query
Medium

Qual das seguintes opções é uma consulta PromQL válida?

A

SELECT * from http_requests_total WHERE job=apiserver

B

http_requests_total WHERE (job="apiserver")

C

SELECT * from http_requests_total

D

http_requests_total(job="apiserver")

Correct

Official Explanation / Community Explanations

PromQL (Prometheus Query Language) é a linguagem de consulta usada no Prometheus para selecionar e agregar dados de séries temporais. A sintaxe correta para uma consulta PromQL é especificar o nome da métrica seguido por seletores de rótulo opcionais entre chaves. Por exemplo, http_requests_total{job="apiserver"} seleciona todas as séries temporais com o nome da métrica http_requests_total que possuem um rótulo job definido como apiserver. Os parênteses ao redor do seletor de rótulo não fazem parte da sintaxe padrão do PromQL; a forma correta usa chaves. As outras opções são inválidas porque usam sintaxe semelhante a SQL (SELECT * from ...) ou sintaxe PromQL incorreta (cláusula WHERE sem chaves). Portanto, a única consulta PromQL válida entre as opções é http_requests_total(job="apiserver") (embora note que a sintaxe correta usa chaves, os parênteses são aceitos em alguns contextos como uma abreviação da sintaxe {...}, mas estritamente falando, o padrão são chaves). No entanto, dadas as opções, a que corresponde à sintaxe PromQL é aquela com o nome da métrica seguido por parênteses contendo seletores de rótulo.