Sobes.tech
Middle

Que tipos de métricas no Prometheus conhece?

sobes.tech IA

Resposta da IA

O Prometheus suporta quatro tipos principais de métricas:

  1. 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.",
        },
    )
    
  2. 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)
    
  3. 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();
    
  4. 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.