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

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

    • node_exporter ir textfile kolektors, kas var lasīt metrikas no failiem noteiktā formātā.
    • Tas ir noderīgi periodiskām skriptēm vai uzdevumiem, kas ģenerē metrikas.
  4. Pushgateway:

    • Pushgateway tiek 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 no Pushgateway.
# 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.