Sobes.tech
Middle

Prometheusga metrikalarni uzatish uchun mijozlarni qanday sozlash mumkin?

sobes.tech AI

AIdan javob

Prometheusga metrikalarni yuborish uchun exporter’lar ishlatish kerak. Exporter’lar — bu kichik xizmatlar bo‘lib, ular Prometheus uchun tushunarli bo‘lgan formatda metrikalarni o‘z ichiga olgan HTTP endpoint’ini ochadilar.

Asosiy usullar:

  1. Rasmiy va uchinchi tomon exporter’lardan foydalanish:

    • Ko‘plab mashhur xizmatlar va tizimlar uchun tayyor exporter’lar mavjud: node_exporter (operatsion tizim metrikalari), mysqld_exporter (MySQL metrikalari), kube-state-metrics (Kubernetes metrikalari) va boshqalar.
    • Konfiguratsiya qilish uchun exporter’ni maqsadli serverga o‘rnatish va uning manzilini Prometheus konfiguratsiyasida ko‘rsatish kifoya.
  2. Ilovalarni instrument qilish:

    • Dasturchilar o‘z ilovalariga to‘g‘ridan-to‘g‘ri metrikalarni chiqarish uchun kod qo‘shishlari mumkin.
    • Prometheus turli dasturlash tillari uchun mijoz kutubxonalarini taqdim etadi (Go, Java, Python, Ruby va boshqalar).
    • Bu kutubxonalar hisoblagichlar (counters), o‘lchovchilar (gauges), gistoqrammalar (histograms) va xulosalar (summaries) yaratishga imkon beradi va keyin Prometheus uchun HTTP endpoint’ini ochadi.
  3. Textfile Collector (node_exporter uchun):

    • node_exporter’ning textfile nomli kollektoriga ega; bu fayllardan ma’lum formatdagi metrikalarni o‘qishi mumkin.
    • Bu davriy skriptlar yoki metrikalarni ishlab chiqaradigan vazifalar uchun foydalidir.
  4. Pushgateway:

    • Pushgateway qisqa muddatli yoki partiyaviy vazifalar uchun ishlatiladi; ular Prometheus tomonidan to‘g‘ridan-to‘g‘ri yig‘ilmaydi (chunki ular mavjud bo‘lmasligi mumkin).
    • Ilova o‘z metrikalarini Pushgateway’ga yuboradi va Prometheus Pushgatewaydan ma’lumotlarni yig‘adi.
# Prometheus konfiguratsiyasi misoli (prometheus.yml)
scrape_configs:
  - job_name: 'node_exporter_servers' # Yig‘ish vazifasi nomi
    static_configs:
      - targets: ['server1:9100', 'server2:9100'] # node_exporter ishga tushirilgan hostlar/portlar ro‘yxati

  - job_name: 'application_metrics' # Ilova metrikalarini yig‘ish vazifasi
    metrics_path: /metrics # Ilova metrikalarni chiqaradigan yo‘l
    static_configs:
      - targets: ['application-host:8080'] # Ilova manzili

  - job_name: 'pushgateway' # Pushgateway’dan metrikalarni yig‘ish vazifasi
    honor_labels: true # Pushgateway etiketlarini to‘g‘ri ishlash uchun muhim
    static_configs:
      - targets: ['pushgateway-host:9091'] # Pushgateway manzili

Exporter’larni sozlagandan yoki ilovalarni instrument qilgandan so‘ng, Prometheus belgilangan endpoint’larni muntazam ravishda so‘rov qiladi (scraping) va metrikalarni yig‘adi.