Installation - NodeExporter

<< Click to Display Table of Contents >>

Navigation:  Prometheus - Kennzahlen >

Installation - NodeExporter

Der node_exporter bietet die Kennzahlen der Maschine an. Ich möchte daher den node_exporter auch für die Maschine aktivieren, damit ich die Zahlen der Maschine bekomme (d.h. - prometheus und node_exporter laufen also auf der gleichen Maschine.

Installation Binaries via github

Bei der Installation habe ich die precompiled Variante ausgewählt (hier mal die ARM64 Variante). Der Download erfolgt über diese Seite.

Zuerst wird nur der eigentliche Prometheus-Server installiert:

 

wget https://github.com/prometheus/node_exporter/releases/download/v1.12.1/node_exporter-1.12.1.linux-arm64.tar.gz

 

Auspacken und schon hat man einen lauffähigen node_exporter. Einfach starten ...

node_exporter auf gleichem Rechner

Damit der prometheus-Server diesen node_exporter ansteuert, muß man diesen in die Konfigurationsdatei ("prometheus.yml") des Servers aufnehmen. Da beides auf einer Maschin läuft - locahost.

 

scrape_configs:

  - job_name: "node_local"

    static_configs:

      - targets: ["localhost:9100"]

 

Dann den Server auffordern, die Konfigurationsdatei neu einzulesen.

node_exporter auf entfernten Rechner

Wenn der Rechner - auf dem ein node_exporter läuft - direkt via https vom Prometheus-Server erreichbar ist, dann kann man den Zugang via https ermöglichen und den Zugriff über den https-Server (hier Apache) absichern  (über den Pfad: "/nodemetrics"):

Zuerst teilen wir einem Apache mit, wie er den Request weiterleitet und lassen den Zugriff durch Apache absichern.

 

<Location /nodemetrics>

    ProxyPass http://127.0.0.1:9100/metrics

    ProxyPassReverse http://127.0.0.1:9100/metrics

 

    AuthType Basic

    AuthName "benutzername"

    AuthUserFile /etc/apache2/node_exporter.htpasswd

    Require valid-user

</Location>

 

 

Der Zugriff erfolgt dann über einen Benutzername und ein Kennwort, die in "/etc/apache2/node_exporter.htpasswd" abgelegt wird. Der Port "9100" ist dann der Port, der in der obigen JSON-Datei für "statprom" definiert werden muß.

Erste Datei anlegen (mit -c, überschreibt bestehende Datei!):

 

htpasswd -c /etc/apache2/node_exporter.htpasswd benutzername

 

 

Und natürlich einen Eintrag in die prometheus.yml (Abschnitt scrape_configs):

 

- job_name: "node_exporter-remote"

    scheme: "https"

    metrics_path: "/nodemetrics"

    basic_auth:

      username: "benutzername"

      password: "password"

    static_configs:

      - targets: [ "rechnername.domain.de", ..... ]

        labels:

          process_type: "node-exporter-remote"