Sobes.tech
Middle

Koje vrste metrika u Prometheusu poznajete?

sobes.tech АИ

Одговор од АИ

Prometheus podržava četiri osnovna tipa metrika:

  1. Brojač (Counter): Monotonno rastuća vrednost koja može samo da se poveća (ili da se resetuje na nulu pri ponovnom pokretanju procesa). Koristi se za brojanje inkrementalnih događaja, kao što su zahtevi, greške ili završeni zadaci.
    // Primer u Go
    var requestsTotal = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Ukupan broj HTTP zahteva.",
        },
    )
    
  2. Gajdž (Gauge): Bilo koja numerička vrednost koja može da raste ili opada. Koristi se za merenje trenutnog stanja nečega, kao što je korišćenje CPU-a, memorije, broj aktivnih korisnika ili veličina reda.
    # Primer u Pythonu
    from prometheus_client import Gauge
    
    cpu_usage = Gauge('cpu_usage_percent', 'Trenutni procenat korišćenja CPU-a')
    cpu_usage.set(55.5)
    
  3. Histogram (Histogram): Meri raspodelu uzoraka (npr. vreme odgovora zahteva) i grupiše ih u konfigurisane kante (buckets). Omogućava dobijanje podataka o broju uzoraka u svakoj kanti i njihovom ukupnom zbroju. Koristi se za analizu latencija.
    // Primer u Java
    import io.prometheus.client.Histogram;
    
    static final Histogram requestLatencies = Histogram.build()
        .name("http_request_duration_seconds")
        .help("Vreme trajanja zahteva u sekundama.")
        .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Kante
        .register();
    
  4. Sažetak (Summary): Slično histogramu, ali na klijentskoj strani računa konfigurisane kvantile raspodele uzoraka u kliznom vremenskom okviru. Takođe pruža ukupan broj uzoraka i njihov zbroj. Pogodno za merenje latencija, kada su kvantili važni, ali zahteva veću računsku snagu i može pružiti manje precizne kvantile pri agregaciji.
    # Primer u Ruby
    require 'prometheus/client'
    
    requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Vreme trajanja zahteva u sekundama.')
    

Izbor tipa metrike zavisi od prirode podataka koje treba pratiti.