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:
-
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.
- Számos népszerű szolgáltatáshoz és rendszerhez léteznek kész exporterek:
-
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.
-
Textfile Collector (a
node_exporterszámára):- A
node_exporterrendelkeziktextfilenevű 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.
- A
-
Pushgateway:
- A
Pushgatewayrö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 aPushgateway-ből.
- A
# 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.