Middle
Milliseid metrikatüüpe te Prometheuses tead?
sobes.tech AI
Vastus AI-lt
Prometheus toetab nelja peamist metrikatüüpi:
- Loendur (Counter): Monotoonselt kasvav väärtus, mis võib ainult suureneda (või taaskäivitamisel nulliks resetida). Kasutatakse inkrementaalsete sündmuste, nagu päringute, vigade või lõpetatud ülesannete arvu jälgimiseks.
// Näide Go keeles var requestsTotal = prometheus.NewCounter( prometheus.CounterOpts{ Name: "http_requests_total", Help: "Kokku HTTP-päringute arv", }, ) - Andur (Gauge): Iga arvväärtus, mis võib kasvada või väheneda. Kasutatakse praeguse oleku mõõtmiseks, näiteks CPU koormus, mälu kasutus, aktiivsete kasutajate arv või järjekorra suurus.
# Näide Pythonis from prometheus_client import Gauge cpu_usage = Gauge('cpu_usage_percent', 'Praegune CPU kasutus protsentides') cpu_usage.set(55.5) - Histogramm (Histogram): Mõõdab valimite jaotust (näiteks päringute vastamise aega) ning rühmitab need konfigureeritavate korvide (buckets) järgi. Annab andmeid iga korvi valimite arvu ja nende kogusumma kohta. Kasutatakse viivituste analüüsiks.
// Näide Java keeles import io.prometheus.client.Histogram; static final Histogram requestLatencies = Histogram.build() .name("http_request_duration_seconds") .help("Päringu kestus sekundites") .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Korvid .register(); - Kokkuvõte (Summary): Sarnane histogrammile, kuid kliendi poolel arvutab konfigureeritavaid kvantileid valimite jaotuse skaleeruva akna jooksul. Samuti pakub üldarvu ja nende summat. Sobib viivituste mõõtmiseks, kui kvantileid on olulised, kuid tuleb arvestada, et kliendi arvutus nõuab suuremat arvutusvõimsust ning võib viia vähem täpsete kvantileideni kogumise ajal.
# Näide Ruby keeles require 'prometheus/client' requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Päringu kestus sekundites.')
Metrika tüübi valik sõltub jälgitavate andmete iseloomust.