Zum Inhalt
Bytearium

Keine Werbung und keine Partnerlinks aktiv

Homelab & Storage

Prometheus-Exporter

Ein Prometheus-Exporter macht Messwerte eines Systems unter /metrics abrufbar, damit Prometheus sie einsammeln kann. So läuft das Scrapen im Homelab.

Dieser Eintrag liegt noch unter unserer Mindestlatte für den Suchindex (Umfang und Zahl der Quellen) und wird überarbeitet. Er ist deshalb nicht in Suchmaschinen gelistet.

Prometheus stellt seine Fragen über HTTP, aber deine Platte, dein Router und dein Spieleserver sprechen seine Sprache nicht. Der Exporter übersetzt.

Kurz gesagt

Ein Prometheus-Exporter ist ein kleiner Server, der Messwerte eines Systems liest, das sie nicht selbst im Prometheus-Format bereitstellen kann, und sie über HTTP ausliefert, damit der Prometheus-Server sie abrufen („scrapen“) kann [1][2]. Das bekannteste Beispiel ist der node_exporter: Er meldet Hardware- und Kernel-Werte von Linux- und anderen Unix-artigen Rechnern, etwa CPU, Arbeitsspeicher, Platten und Netzwerk, und lauscht standardmäßig auf Port 9100 [3][4]. Unsere Einschätzung: Setze auf jeden wichtigen Rechner einen node_exporter, ergänze weitere Exporter nur für Fragen, die du wirklich hast, und halte ihre Ports im eigenen Netz.

So funktioniert’s

  1. Prometheus holt ab. Der Server sammelt Zeitreihen im Pull-Modell über HTTP und ruft seine Ziele in einem festen Intervall ab. Pushen geht nur über ein zwischengeschaltetes Gateway, gedacht für kurzlebige Jobs [2].
  2. Wozu es Exporter gibt. Sie helfen dort, wo sich ein System nicht direkt instrumentieren lässt; die Prometheus-Doku nennt HAProxy und Linux-Systemwerte als Beispiele [1]. Manche Software liefert Prometheus-Werte schon selbst, zum Beispiel Grafana, der Docker-Daemon und Caddy, und braucht keinen Exporter [1].
  3. Das Format ist Klartext. Ein Exporter beantwortet eine GET-Anfrage mit Zeilen wie # HELP, # TYPE und name{label="x"} 42, UTF-8-kodiert und als text/plain mit version=0.0.4 ausgeliefert [5]. Ein Messwert ohne # TYPE-Zeile gilt als untyped [5].
  4. Offiziell oder nicht. Manche Exporter gehören zur GitHub-Organisation von Prometheus und sind als „official“ markiert. Das Projekt ermutigt zu weiteren Exportern, kann aber nicht alle auf bewährte Verfahren prüfen [1].
  5. Collectors im node_exporter. Viele Collectors sind standardmäßig an, du schaltest sie mit --collector.NAME oder --no-collector.NAME, wobei NAME der Collector ist [3]. Zwei Meta-Messwerte, node_scrape_collector_success und node_scrape_collector_duration_seconds, zeigen, ob ein Collector funktioniert hat [3]. Der textfile-Collector liest *.prom-Dateien aus einem Verzeichnis und liefert sie aus, was zu Batch-Jobs passt; Zeitstempel werden nicht unterstützt [3].
  6. Container brauchen Sorgfalt. Der node_exporter ist für das Hostsystem gebaut. Im Container braucht er die Host-Namespaces (--net=host, --pid=host), einen schreibgeschützten Bind-Mount von / und den Schalter --path.rootfs [3].
  7. Zugriffsschutz gibt es. Der Exporter unterstützt TLS und Basic-Authentifizierung über eine Web-Konfigurationsdatei, die du mit --web.config.file übergibst. Die README nennt das noch experimentell, und Passwörter stehen in dieser Datei als bcrypt-Hashes [3][6].
  8. Namensregeln. Gute Exporter nutzen Basiseinheiten (Sekunden, Bytes), Namen in snake_case und _total für Zähler, und sie liefern Verhältnisse statt Prozentwerte [7].

Ein Praxisbeispiel

Du startest den node_exporter auf einem Linux-Rechner und prüfst ihn mit curl. Prometheus ruft ihn dann mit einer minimalen Konfiguration ab, wie sie die offizielle Anleitung zeigt [4]:

curl http://localhost:9100/metrics | grep "node_"
global:
  scrape_interval: 15s

scrape_configs:
- job_name: node
  static_configs:
  - targets: ['localhost:9100']

Im Ausdrucksbrowser zeigt node_filesystem_avail_bytes dann den für Nicht-root-Benutzer verfügbaren Platz in Bytes [4]. Ein Prometheus-Setup haben wir in unserem Inventar (14. bis 16. Okt. 2026) nicht dokumentiert, deshalb ist das ein allgemeiner Ablauf aus der Anleitung des Projekts und keine eigene Messung.

Prüfliste

  • Prüfe die /metrics-Seite des Exporters mit curl, bevor du ihn in Prometheus einträgst [4].
  • Bevorzuge Software, die Messwerte selbst bereitstellt, vor einem zusätzlichen Exporter, wenn es beides gibt [1].
  • Öffne Exporter-Ports nur für den Prometheus-Host und ergänze TLS oder Basic-Authentifizierung, wenn das Netz geteilt ist [3][6].
  • Beobachte node_scrape_collector_success, um Collectors zu finden, die still scheitern [3].
  • Schalte Collectors, die du nicht brauchst, mit --no-collector.NAME ab [3].
  • Lies Exporter von Dritten, bevor du sie startest, denn das Projekt prüft sie nicht [1].

Primärquellen

Diese Quellen sind die Grundlage der Seite. Das heißt nicht, dass jede Aussage einzeln nachgeprüft wurde; ob ein Prüfbeleg vorliegt, steht oben unter „Stand“. Einordnung und Prüfliste sind unsere eigene Arbeit.

Für diese Fassung liegt noch kein dokumentierter Prüfbeleg vor. Der Text stützt sich auf die genannten Quellen.

Entstehung: Bytearium erstellt diese Seiten mit Unterstützung von KI und verantwortet die Veröffentlichung. KI kann sich irren, deshalb nennen wir Quellen und Prüfstand offen.

  1. PrometheusExporters and integrations
  2. PrometheusOverview
  3. Prometheusnode_exporter
  4. PrometheusMonitoring Linux host metrics with the Node Exporter
  5. PrometheusExposition formats
  6. PrometheusWeb configuration
  7. PrometheusWriting exporters

Auf dieser Seite gibt es keine Werbung und keine Partnerlinks.