Sobes.tech
Middle

Milyen típusú metrikákat ismersz a Prometheusban?

sobes.tech MI

Válasz az MI-től

A Prometheus négy fő metrikatípust támogat:

  1. Counter (Számláló): Monoton növekvő érték, amely csak növekedhet (vagy a folyamat újraindításakor nullára állítható). Olyan események számlálására használják, mint a kérések, hibák vagy befejezett feladatok száma.
    // Példa Go nyelven
    var requestsTotal = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Összes HTTP kérés száma.",
        },
    )
    
  2. Gauge (Mérőszám): Bármilyen numerikus érték, amely növekedhet vagy csökkenhet. A jelenlegi állapot mérésére használják, például CPU-használat, memória, aktív felhasználók száma vagy a sor mérete.
    # Példa Pythonban
    from prometheus_client import Gauge
    
    cpu_usage = Gauge('cpu_usage_percent', 'Jelenlegi CPU-használat százalékban')
    cpu_usage.set(55.5)
    
  3. Hisztogram (Histogram): Mérik a minták eloszlását (pl. kérés válaszidejét), és konfigurálható kosarakba (buckets) csoportosítják őket. Lehetővé teszi az egyes kosarakban lévő minták számának és az összes érték összegének megállapítását. A késleltetések elemzésére használják.
    // Java példában
    import io.prometheus.client.Histogram;
    
    static final Histogram requestLatencies = Histogram.build()
        .name("http_request_duration_seconds")
        .help("Kérés időtartama másodpercben")
        .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Kosarak
        .register();
    
  4. Összegzés (Summary): Hasonló a hisztogramhoz, de a kliens oldalon számítja ki a minták konfigurálható kvantilis értékeit egy mozgó időablakban. Továbbá megadja a minták összegét és számát. Használható késleltetések mérésére, amikor a kvantilisek fontosak, de több számítási erőforrást igényel, és az összegzésnél kevésbé pontos kvantiliseket adhat.
    # Ruby példában
    require 'prometheus/client'
    
    requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Kérés időtartama másodpercben.')
    

A metrikatípus kiválasztása a monitorozni kívánt adatok természetétől függ.