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:
- 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.", }, ) - 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) - 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(); - Ö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.