Middle
Prometheus-ə metriklərin ötürülməsi üçün müştərilərin necə qurulması lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Prometheus-ə metrikləri ötürmək üçün exporter-lərdən istifadə etmək lazımdır. Exporter-lər kiçik xidmətlərdir və Prometheus üçün başa düşülən formatda metrikləri ehtiva edən HTTP endpoint açırlar.
Əsas üsullar:
-
Rəsmi və üçüncü tərəf exporter-lərdən istifadə:
- Bir çox məşhur xidmət və sistem üçün hazır exporter-lər mövcuddur:
node_exporter(ƏS metrikləri),mysqld_exporter(MySQL metrikləri),kube-state-metrics(Kubernetes metrikləri) və s. - Konfiqurasiya məqsədli serverə exporter-in quraşdırılması və onun ünvanının Prometheus konfiqurasiyasında göstərilməsi ilə həyata keçirilir.
- Bir çox məşhur xidmət və sistem üçün hazır exporter-lər mövcuddur:
-
Tətbiqlərin instrumentasiyası:
- İnkişafçılar, birbaşa metrikləri göstərmək üçün kod əlavə edə bilərlər.
- Prometheus müxtəlif proqramlaşdırma dilləri üçün müştəri kitabxanaları təqdim edir (Go, Java, Python, Ruby və s.).
- Bu kitabxanalar sayğaclar (counters), göstəricilər (gauges), histogramlar və xülasələr (summaries) yaratmağa və sonra Prometheus üçün HTTP endpoint açmağa imkan verir.
-
Textfile Collector (node_exporter üçün):
node_exporter-intextfileadlı kollektor var; bu, fayllardan müəyyən formatda metrikləri oxuya bilər.- Bu, dövri skriptlər və ya metriklər yaradan tapşırıqlar üçün faydalıdır.
-
Pushgateway:
Pushgateway, qısa müddətli və ya partiyalı tapşırıqlar üçün istifadə olunur; bu tapşırıqlar birbaşa Prometheus tərəfindən toplanmaya bilər (çünki mövcud olmaya bilərlər).- Tətbiq, metriklərini
Pushgateway-ə göndərir və PrometheusPushgateway-dən məlumat toplayır.
# Prometheus konfiqurasiyası nümunəsi (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Toplama işi adı
static_configs:
- targets: ['server1:9100', 'server2:9100'] # node_exporter işləyən hostlar/portlar siyahısı
- job_name: 'application_metrics' # Tətbiq metriklərinin toplanması işi
metrics_path: /metrics # Tətbiqin metrikləri göstərdiyi yol
static_configs:
- targets: ['application-host:8080'] # Tətbiqin ünvanı
- job_name: 'pushgateway' # Pushgateway-dən metriklərin toplanması işi
honor_labels: true # Pushgateway etiketlərinin düzgün işlənməsi üçün vacibdir
static_configs:
- targets: ['pushgateway-host:9091'] # Pushgateway ünvanı
Exporter-ləri konfiqurasiya etdikdən və ya tətbiqləri instrumentasiya etdikdən sonra, Prometheus müntəzəm olaraq (scraping) göstərilən endpoint-ləri sorğu edəcək və metrikləri toplayacaq.