Middle
Kā konfigurēt klientus, lai nodotu metriku uz Prometheus?
sobes.tech AI
Atbilde no AI
Lai nodotu metriku datus uz Prometheus, ir nepieciešams izmantot eksportētājus (Exporters). Eksportētāji ir mazi pakalpojumi, kas atver HTTP-enderpoint, kas satur metriku datus formātā, ko Prometheus saprot.
Galvenie veidi:
-
Izmantot oficiālus un trešo pušu eksportētājus:
- Ir gatavi eksportētāji daudziem populāriem pakalpojumiem un sistēmām:
node_exporter(OS metriki),mysqld_exporter(MySQL metriki),kube-state-metrics(Kubernetes metriki) un tā tālāk. - Konfigurācija ietver eksportētāja uzstādīšanu mērķa serverī un tā adreses norādīšanu Prometheus konfigurācijā.
- Ir gatavi eksportētāji daudziem populāriem pakalpojumiem un sistēmām:
-
Programmu instrumentēšana:
- Izstrādātāji var pievienot kodu savām programmām, lai tieši izstādītu metriku datus.
- Prometheus projekts nodrošina klientu bibliotēkas dažādām programmēšanas valodām (Go, Java, Python, Ruby un citas).
- Šīs bibliotēkas ļauj izveidot skaitītājus (counters), sensorus (gauges), histogrammas (histograms) un kopsavilkumus (summaries), un pēc tam atvērt HTTP-enderpoint metrikas vākšanai no Prometheus.
-
Textfile Collector (
node_exporter):node_exporterirtextfilekolektors, kas var lasīt metrikas no failiem noteiktā formātā.- Tas ir noderīgi periodiskām skriptēm vai uzdevumiem, kas ģenerē metrikas.
-
Pushgateway:
Pushgatewaytiek izmantots īslaicīgu vai grupēto uzdevumu gadījumā, kuri nevar tikt tieši savākti Prometheus (jo var nebūt pieejami zādzības laikā).- Programma sūta savas metrikas uz
Pushgateway, un Prometheus savāc datus noPushgateway.
# Prometheus konfigurācijas piemērs (prometheus.yml)
scrape_configs:
- job_name: 'node_exporter_servers' # Uzdevuma nosaukums
static_configs:
- targets: ['server1:9100', 'server2:9100'] # Saraksts ar hostiem/portiem, kur darbojas `node_exporter`
- job_name: 'application_metrics' # Uzdevums metrikas no lietojumprogrammas savākšanai
metrics_path: /metrics # Ceļš, kurā lietojumprogramma izstāda metrikas
static_configs:
- targets: ['application-host:8080'] # Lietojumprogrammas adrese
- job_name: 'pushgateway' # Uzdevums metrikas no Pushgateway savākšanai
honor_labels: true # Svarīgi pareizai marķējumu apstrādei no Pushgateway
static_configs:
- targets: ['pushgateway-host:9091'] # Pushgateway adrese
Pēc konfigurācijas eksportētāju vai programmu instrumentēšanas, Prometheus periodiski veiks endpoinšu skenēšanu (scraping), lai savāktu metrikas.