Sobes.tech
Middle

Aké typy metrík v Prometheuse poznáte?

sobes.tech AI

Odpoveď od AI

Prometheus podporuje štyri hlavné typy metrík:

  1. Čítač (Counter): Monotónne rastúca hodnota, ktorá sa môže iba zvyšovať (alebo resetovať na nulu pri reštarte procesu). Používa sa na počítanie inkrementálnych udalostí, ako sú požiadavky, chyby alebo dokončené úlohy.
    // Príklad v Go
    var requestsTotal = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Celkový počet HTTP požiadaviek.",
        },
    )
    
  2. Senzor (Gauge): Ľubovoľná číselná hodnota, ktorá sa môže zvyšovať aj znižovať. Používa sa na meranie aktuálneho stavu niečoho, napríklad zaťaženia CPU, využitia pamäte, počtu aktívnych používateľov alebo veľkosti fronty.
    # Príklad v Pythone
    from prometheus_client import Gauge
    
    cpu_usage = Gauge('cpu_usage_percent', 'Aktuálne percento využitia CPU')
    cpu_usage.set(55.5)
    
  3. Histogram: Meria rozloženie vzoriek (napríklad čas odpovede požiadaviek) a skupinu ich do konfigurovateľných košov (buckets). Umožňuje získať údaje o počte vzoriek v každom koši a celkovú sumu hodnôt. Používa sa na analýzu oneskorení.
    // Príklad v Jave
    import io.prometheus.client.Histogram;
    
    static final Histogram requestLatencies = Histogram.build()
        .name("http_request_duration_seconds")
        .help("Dĺžka trvania požiadavky v sekundách.")
        .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Koše
        .register();
    
  4. Sumár (Summary): Podobná histogramu, ale na strane klienta vypočíta nastaviteľné kvantily rozloženia vzoriek v pohyblivom časovom okne. Tiež poskytuje celkový počet vzoriek a ich súčet. Hodí sa na meranie oneskorení, keď sú dôležité kvantily, ale treba brať do úvahy, že výpočet na klientovi vyžaduje väčší výpočtový výkon a môže viesť k menej presným kvantilom pri agregácii.
    # Príklad v Ruby
    require 'prometheus/client'
    
    requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Dĺžka trvania požiadavky v sekundách.')
    

Výber typu metriky závisí od charakteru údajov, ktoré je potrebné sledovať.