Middle
Aké typy metrík v Prometheuse poznáte?
sobes.tech AI
Odpoveď od AI
Prometheus podporuje štyri hlavné typy metrík:
- Čí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.", }, ) - 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) - 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(); - 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ť.