Sobes.tech
Middle

Hogyan állítsuk be az ügyfeleket a metrikák Prometheusnak való továbbítására?

sobes.tech MI

Válasz az MI-től

A metrikák Prometheusnak való továbbításához exportereket kell használni. Az exporterek kis szolgáltatások, amelyek HTTP végpontot nyitnak, tartalmazva a Prometheus által értelmezhető metrikákat.

Fő módszerek:

  1. Hivatalos és harmadik fél exporterek használata:

    • Számos népszerű szolgáltatáshoz és rendszerhez léteznek kész exporterek: node_exporter (operációs rendszer metrikák), mysqld_exporter (MySQL metrikák), kube-state-metrics (Kubernetes metrikák) stb.
    • A konfiguráció az exporterek telepítését jelenti a cél szerverre, és az IP-címük megadását a Prometheus konfigurációjában.
  2. Alkalmazások instrumentálása:

    • A fejlesztők közvetlenül az alkalmazásokba adhatnak kódot, hogy metrikákat tegyenek elérhetővé.
    • A Prometheus klienskönyvtárakat biztosít különböző programozási nyelvekhez (Go, Java, Python, Ruby stb.).
    • Ezek a könyvtárak lehetővé teszik számlálók (counters), mérők (gauges), hisztogramok és összegzések (summaries) létrehozását, majd HTTP végpont nyitását a Prometheus által történő gyűjtéshez.
  3. Textfile Collector (a node_exporter számára):

    • A node_exporter rendelkezik textfile nevű gyűjtővel, amely képes olvasni metrikákat fájlokból meghatározott formátumban.
    • Ez hasznos időszakos szkriptek vagy feladatok esetén, amelyek metrikákat generálnak.
  4. Pushgateway:

    • A Pushgateway rövid életű vagy kötegelt feladatokhoz használható, amelyeket nem lehet közvetlenül a Prometheus által gyűjteni (mivel nem létezhetnek a gyűjtés pillanatában).
    • Az alkalmazás küldi metrikáit a Pushgateway-nak, és a Prometheus gyűjti az adatokat a Pushgateway-ből.
# Prometheus konfigurációs példa (prometheus.yml)
scrape_configs:
  - job_name: 'node_exporter_servers' # Gyűjtési feladat neve
    static_configs:
      - targets: ['server1:9100', 'server2:9100'] # A szerverek/portok listája, ahol fut a node_exporter

  - job_name: 'application_metrics' # Alkalmazás metrikáinak gyűjtése
    metrics_path: /metrics # Az útvonal, ahol az alkalmazás metrikákat szolgáltat
    static_configs:
      - targets: ['application-host:8080'] # Az alkalmazás címe

  - job_name: 'pushgateway' # Metrikák gyűjtése a Pushgateway-ből
    honor_labels: true # Fontos a Pushgateway címkéinek helyes kezelése érdekében
    static_configs:
      - targets: ['pushgateway-host:9091'] # Pushgateway címe

A gyártók konfigurálása vagy az alkalmazások instrumentálása után a Prometheus rendszeresen lekérdezi (scraping) a megadott végpontokat a metrikák gyűjtése érdekében.