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:
-
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.
- On valmis eksportoreid paljude populaarsete teenuste ja süsteemide jaoks:
-
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.
-
Textfile Collector (
node_exporterjaoks):node_exportersisaldabtextfilekollektorit, mis suudab lugeda metrikad failidest kindlas formaadis.- See on kasulik perioodiliste skriptide või ülesannete jaoks, mis genereerivad metrikad.
-
Pushgateway:
Pushgatewaykasutatakse 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 andmedPushgateway'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.