Middle
Ce tipuri de metrici în Prometheus cunoști?
sobes.tech AI
Răspuns de la AI
Prometheus suportă patru tipuri principale de metrici:
- Counter (Contor): Valoare monoton crescută, care poate doar crește (sau se resetează la zero la repornirea procesului). Folosit pentru numărarea evenimentelor incrementale, cum ar fi solicitări, erori sau sarcini finalizate.
// Exemplu în Go var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Numărul total de solicitări HTTP.", }, ) - Gauge (Indicativ): Valoare numerică arbitrară care poate crește sau scade. Folosit pentru măsurarea stării actuale a ceva, cum ar fi utilizarea CPU, memoria, numărul de utilizatori activi sau dimensiunea cozii.
# Exemplu în Python from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Procentul de utilizare curentă a CPU') cpu_usage.set(55.5) - Histogram (Histogramă): Măsoară distribuția probelor (de exemplu, timpii de răspuns ai solicitărilor) și le grupează în coșuri configurabile. Permite obținerea datelor despre numărul de probe în fiecare coș și suma totală a valorilor. Folosit pentru analiza latenței.
// Exemplu în Java import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Durata solicitării în secunde.") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Coșuri .register(); - Sumar (Summary): Similar cu histogramul, dar calculează cuantile configurabile ale distribuției probelor într-o fereastră de timp glisantă. De asemenea, oferă numărul total de probe și suma lor. Potrivit pentru măsurarea latenței, când cuantilele sunt importante, dar necesită mai multă putere de calcul pe client și poate oferi cuantile mai puțin precise în agregare.
# Exemplu în Ruby require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Durata solicitării în secunde.')
Alegerea tipului de metrică depinde de natura datelor care trebuie monitorizate.