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:
-
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.
- Ko‘plab mashhur xizmatlar va tizimlar uchun tayyor exporter’lar mavjud:
-
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.
-
Textfile Collector (
node_exporteruchun):node_exporter’ningtextfilenomli kollektoriga ega; bu fayllardan ma’lum formatdagi metrikalarni o‘qishi mumkin.- Bu davriy skriptlar yoki metrikalarni ishlab chiqaradigan vazifalar uchun foydalidir.
-
Pushgateway:
Pushgatewayqisqa 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 PrometheusPushgatewaydan 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.