Sobes.tech
Middle

Kuidas seadistada kliendid metrikate edastamiseks Prometheusesse?

sobes.tech AI

Vastus AI-lt

Selleks, et edastada metrikat Prometheus'ile, on vaja kasutada eksportoreid (Exporters). Eksportorid on väikesed teenused, mis avavad HTTP-endaPointi, mis sisaldab Prometheus'ile arusaadavaid metrikate andmeid.

Peamised viisid:

  1. Ametlike ja kolmanda osapoole eksportorite kasutamine:

    • On valmis eksportoreid paljude populaarsete teenuste ja süsteemide jaoks: node_exporter (OS metrikad), mysqld_exporter (MySQL metrikad), kube-state-metrics (Kubernetes metrikad) ja nii edasi.
    • Konfiguratsioon hõlmab eksportori paigaldamist sihtserverile ja selle aadressi määramist Prometheus konfiguratsioonis.
  2. Rakenduste instrumenteerimine:

    • Arendajad saavad lisada koodi oma rakendustesse, et otse välja anda metrikad.
    • Prometheus projekt pakub klientraamatukogusid erinevatele programmeerimiskeeltele (Go, Java, Python, Ruby ja teised).
    • Need raamatukogud võimaldavad luua loendurid (counters), andurid (gauges), histogrammid (histograms) ja kokkuvõtted (summaries), ning avada HTTP-endaPointi metrikate kogumiseks Prometheus'ilt.
  3. Textfile Collector (node_exporter jaoks):

    • node_exporter sisaldab textfile kollektorit, mis suudab lugeda metrikad failidest kindlas formaadis.
    • See on kasulik perioodiliste skriptide või ülesannete jaoks, mis genereerivad metrikad.
  4. Pushgateway:

    • Pushgateway kasutatakse lühiajaliste või pakendatud ülesannete jaoks, mida Prometheus ei saa otse koguda (kuna neid ei pruugi olla olemas kogumise ajal).
    • Rakendus saadab oma metrikad Pushgateway'le, ning Prometheus kogub andmed Pushgateway'lt.
# Näide Prometheus konfiguratsioonist (prometheus.yml)
scrape_configs:
  - job_name: 'node_exporter_servers' # Töö nimi
    static_configs:
      - targets: ['server1:9100', 'server2:9100'] # Loend hostidest/portidest, kus töötab `node_exporter`

  - job_name: 'application_metrics' # Töö rakenduse metrikate kogumiseks
    metrics_path: /metrics # Tee, mille kaudu rakendus metrikad avaldab
    static_configs:
      - targets: ['application-host:8080'] # Rakenduse aadress

  - job_name: 'pushgateway' # Töö metrikate kogumiseks Pushgateway'lt
    honor_labels: true # Oluline Pushgateway'lt saadud siltide korrektseks töötlemiseks
    static_configs:
      - targets: ['pushgateway-host:9091'] # Pushgateway aadress

Pärast eksportijate või rakenduste instrumenteerimist, Prometheus perioodiliselt skaneerib (scraping) määratud endpoint'e, et koguda metrikad.