Sobes.tech
Middle

Prometheus-də hansı növ metrikləri bilirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Prometheus dörd əsas metrik növünü dəstəkləyir:

  1. Counter (Sayğac): Monoton şəkildə artan dəyər, yalnız artır və ya proses yenidən başladıqda sıfıra sıfırlana bilər. Artımlı hadisələri saymaq üçün istifadə olunur, məsələn, sorğular, səhvlər və ya tamamlanan tapşırıqlar.
    // Go dilində nümunə
    var requestsTotal = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Ümumi HTTP sorğularının sayı.",
        },
    )
    
  2. Gauge (Göstərici): İstənilən ədədi dəyər, artıb və ya azala bilər. Bir şeyin hazırkı vəziyyətini ölçmək üçün istifadə olunur, məsələn, CPU istifadəsi, yaddaş, aktiv istifadəçilərin sayı və ya növbənin ölçüsü.
    # Python nümunəsi
    from prometheus_client import Gauge
    
    cpu_usage = Gauge('cpu_usage_percent', 'Hazırkı CPU istifadəsi faizi')
    cpu_usage.set(55.5)
    
  3. Histogram (Histogramma): Nümunələrin paylanmasını ölçür (məsələn, sorğu cavab vaxtları) və onları konfiqurasiya edilə bilən səbətlərə (buckets) qruplaşdırır. Hər səbətdəki nümunələrin sayı və ümumi dəyərlər cəmindən məlumat verir. Gecikmələri təhlil etmək üçün istifadə olunur.
    // Java nümunəsi
    import io.prometheus.client.Histogram;
    
    static final Histogram requestLatencies = Histogram.build()
        .name("http_request_duration_seconds")
        .help("Sorğu müddəti saniyə ilə.")
        .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Səbətlər
        .register();
    
  4. Xülasə (Summary): Histogramma bənzəyir, lakin müştəri tərəfində nümunələrin paylanmasının konfiqurasiya edilə bilən kvantillərini hesablayır. Həmçinin, ümumi nümunə sayı və onların cəmini təqdim edir. Gecikmələri ölçmək üçün uyğundur, kvantillər vacibdirsə, lakin müştəri tərəfində daha çox hesablama gücü tələb edir və toplama zamanı daha az dəqiq kvantillər verə bilər.
    # Ruby nümunəsi
    require 'prometheus/client'
    
    requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'Sorğu müddəti saniyə ilə.')
    

Metrik növünün seçimi, izləniləcək məlumatların xarakterinə bağlıdır.