Middle
Welche Arten von Metriken in Prometheus kennen Sie?
sobes.tech KI
Antwort von AI
Prometheus unterstützt vier Haupttypen von Metriken:
- Zähler (Counter): Monoton steigend, kann nur erhöht werden (oder beim Neustart des Prozesses auf Null zurückgesetzt werden). Wird verwendet, um inkrementelle Ereignisse zu zählen, wie Anfragen, Fehler oder abgeschlossene Aufgaben.
// Beispiel in Go var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Gesamtzahl der HTTP-Anfragen.", }, ) - Gauge (Messgröße): Beliebiger numerischer Wert, der steigen oder fallen kann. Wird verwendet, um den aktuellen Zustand von etwas zu messen, z.B. CPU-Auslastung, Speichernutzung, Anzahl aktiver Benutzer oder Warteschlangenlänge.
# Beispiel in Python from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Aktueller CPU-Auslastungsprozentsatz') cpu_usage.set(55.5) - Histogramm (Histogram): Misst die Verteilung von Stichproben (z.B. Antwortzeiten von Anfragen) und gruppiert sie in konfigurierbare Buckets. Ermöglicht die Erfassung der Anzahl der Stichproben in jedem Bucket und der Gesamtsumme der Werte. Wird zur Analyse von Latenzen verwendet.
// Beispiel in Java import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Anforderungsdauer in Sekunden.") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Buckets .register(); - Summary (Zusammenfassung): Ähnlich wie Histogramm, berechnet es konfigurierbare Quantile der Stichprobenverteilung in einem gleitenden Zeitfenster. Bietet auch die Gesamtzahl der Stichproben und deren Summe. Geeignet für Latenzmessungen, bei denen Quantile wichtig sind, aber es erfordert mehr Rechenleistung auf der Clientseite und kann bei Aggregationen weniger genaue Quantile liefern.
# Beispiel in Ruby require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Anforderungsdauer in Sekunden.')
Die Wahl des Metriktyps hängt von der Art der zu überwachenden Daten ab.