Middle
Kaip sukonfigūruoti klientus metrikų perdavimui į Prometheus?
sobes.tech AI
Atsakymas iš AI
Kad perduotumėte metrikas į Prometheus, reikia naudoti eksportorius (Exporters). Eksportoriai yra mažos paslaugos, kurios atidaro HTTP-įvestį, turinčią metrikas formatu, kurį supranta Prometheus.
Pagrindiniai būdai:
-
Naudoti oficialius ir trečiųjų šalių eksportorius:
- Yra paruoštų eksportorių daugybei populiarių paslaugų ir sistemų:
node_exporter(OS metrikos),mysqld_exporter(MySQL metrikos),kube-state-metrics(Kubernetes metrikos) ir kt. - Konfigūracija apima eksportoriaus įdiegimą tiksliniame serveryje ir jo adreso nurodymą Prometheus konfigūracijoje.
- Yra paruoštų eksportorių daugybei populiarių paslaugų ir sistemų:
-
Programų instrumentavimas:
- Kūrėjai gali pridėti kodą savo programoms, kad tiesiogiai pateiktų metrikas.
- Prometheus projektas teikia klientų bibliotekas įvairioms programavimo kalboms (Go, Java, Python, Ruby ir kt.).
- Šios bibliotekos leidžia kurti skaitiklius (counters), jutiklius (gauges), histogramos (histograms) ir santraukas (summaries), o tada atverti HTTP-įvestį metrikų rinkimui iš Prometheus.
-
Textfile Collector (skirtas
node_exporter):node_exporterturitextfilekolektorių, kuris gali skaityti metrikas iš failų tam tikru formatu.- Tai naudinga periodinėms scenarijams ar užduotims, kurios generuoja metrikas.
-
Pushgateway:
Pushgatewaynaudojamas trumpalaikių ar paketinių užduočių, kurios negali būti tiesiogiai surinktos Prometheus, nes jų gali būti nėra rinkimo metu.- Programos siunčia savo metrikas į
Pushgateway, o Prometheus renka duomenis išPushgateway.
# Pavyzdinė Prometheus konfigūracija (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Užduoties pavadinimas
static_configs:
- targets: ['server1:9100', 'server2:9100'] # Sąrašas hostų/portų, kur veikia `node_exporter`
- job_name: 'application_metrics' # Užduotis surinkti programos metrikas
metrics_path: /metrics # Kelias, kuriuo programa pateikia metrikas
static_configs:
- targets: ['application-host:8080'] # Programos adresas
- job_name: 'pushgateway' # Užduotis surinkti metrikas iš Pushgateway
honor_labels: true # Svarbu teisingam žymių apdorojimui iš Pushgateway
static_configs:
- targets: ['pushgateway-host:9091'] # Pushgateway adresas
Po eksportorių arba programų instrumentavimo konfigūracijos, Prometheus periodiškai tikrins (scraping) nurodytus endpoinčius, kad surinktų metrikas.