Sobes.tech
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:

  1. 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.
  2. 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.
  3. Textfile Collector (node_exporter üçün):

    • node_exporter-in textfile adlı 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.
  4. 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ə Prometheus Pushgateway-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.