Middle
Que tipos de métricas no Prometheus conhece?
sobes.tech IA
Resposta da IA
O Prometheus suporta quatro tipos principais de métricas:
- Contador (Counter): Valor que só pode aumentar de forma monótona (ou ser reiniciado a zero ao reiniciar o processo). Usado para contar eventos incrementais, como pedidos, erros ou tarefas concluídas.
// Exemplo em Go var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Número total de pedidos HTTP.", }, ) - Gauge (Indicador): Valor numérico arbitrário que pode aumentar ou diminuir. Usado para medir o estado atual de algo, como uso de CPU, memória, número de utilizadores ativos ou tamanho da fila.
# Exemplo em Python from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Percentagem de uso atual da CPU') cpu_usage.set(55.5) - Histograma (Histogram): Mede a distribuição de amostras (por exemplo, tempos de resposta de pedidos) e as agrupa em baldes configuráveis. Permite obter dados sobre o número de amostras em cada balde e a soma total dos valores. Usado para analisar latências.
// Exemplo em Java import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Duração do pedido em segundos.") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Baldes .register(); - Sumário (Summary): Semelhante ao histograma, mas calcula quantis configuráveis da distribuição de amostras numa janela de tempo deslizante. Também fornece o número total de amostras e a sua soma. Adequado para medir latências, quando os quantis são importantes, embora exija mais potência de cálculo no cliente e possa fornecer quantis menos precisos na agregação.
# Exemplo em Ruby require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Duração do pedido em segundos.')
A escolha do tipo de métrica depende da natureza dos dados que se pretende monitorizar.