Middle
Koje vrste metrika u Prometheusu poznajete?
sobes.tech АИ
Одговор од АИ
Prometheus podržava četiri osnovna tipa metrika:
- 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.", }, ) - 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) - 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(); - 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.