Sobes.tech
Middle

Prometheusda qanday o'lchov turlarini bilasiz?

sobes.tech AI

AIdan javob

Prometheus to'rt asosiy metrika turini qo'llab-quvvatlaydi:

  1. Counter (Hisoblagich): Monoton ravishda oshadigan qiymat, faqat oshishi mumkin (yoki jarayonni qayta ishga tushirganda nolga qaytariladi). Inkremental voqealarni hisoblash uchun ishlatiladi, masalan, so'rovlar, xatolar yoki bajarilgan vazifalar soni.
    // Go tilida misol
    var requestsTotal = prometheus.NewCounter(
        prometheus.CounterOpts{
            Name: "http_requests_total",
            Help: "Jami HTTP so'rovlar soni.",
        },
    )
    
  2. Gauge (Ko'rsatkich): Istalgan raqamli qiymat, oshishi yoki kamayishi mumkin. Biror narsaning hozirgi holatini o'lchash uchun ishlatiladi, masalan, CPU ishlatilishi, xotira, faol foydalanuvchilar soni yoki navbatning o'lchami.
    # Python misol
    from prometheus_client import Gauge
    
    cpu_usage = Gauge('cpu_usage_percent', 'Hozirgi CPU ishlatilish foizi')
    cpu_usage.set(55.5)
    
  3. Histogram (Histogramma): Namuna taqsimotini o'lchaydi (masalan, so'rovlar javob vaqti) va ularni sozlanadigan qutilarga (buckets) guruhlaydi. Har bir qutidagi namuna soni va umumiy qiymatlarni olish imkonini beradi. Kechikishlarni tahlil qilish uchun ishlatiladi.
    // Java misol
    import io.prometheus.client.Histogram;
    
    static final Histogram requestLatencies = Histogram.build()
        .name("http_request_duration_seconds")
        .help("So'rov davomiyligi sekundlarda.")
        .buckets(0.1, 0.5, 1.0, 2.5, 5.0, 10.0) // Qutilar
        .register();
    
  4. Xulosa (Summary): Histogramma bilan o'xshash, ammo mijoz tomonida namuna taqsimotining sozlanadigan kvantillarini hisoblaydi. Shuningdek, umumiy namuna soni va ularning summasini taqdim etadi. Kechikishlarni o'lchash uchun mos, kvantillar muhim bo'lsa, ammo mijozda ko'proq hisoblash quvvatini talab qiladi va yig'ishda kamroq aniq kvantillarni berishi mumkin.
    # Ruby misol
    require 'prometheus/client'
    
    requests_summary = Prometheus::Client::Summary.new(:request_duration_seconds, 'So'rov davomiyligi sekundlarda.')
    

Metrika turini tanlash, monitoring qilishni istagan ma'lumotlarning tabiatiga bog'liq.