Prometheus node_exporter auf debian Server installieren
Prometheus ist installiert, jetzt beginnen wir damit Metriken von Systemen zu sammeln und zu speichern.
Auf GitHub kopieren wir uns den Link zur aktuellen Version des node_exporters für Linux (https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz)
Die Installation erfolgt mit dem user "root"
mkdir /opt/node_exporter
cd /opt/node_exporter/
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.6.1.linux-amd64.tar.gz
Um ein weiteres Unterverzeichnis mit der Versionsnummer im Namen zu vermeiden, verschieben wir die Inhalte des entpackten Archivs eine Ebene nach oben und löschen anschließend das heruntergeladene Archiv und den durch das Entpacken entstandene dazugehörigen Ordner.
mv node_exporter-1.6.1.linux-amd64/* .
rm -r node_exporter-1.6.1.linux-amd64
rm node_exporter-1.6.1.linux-amd64.tar.gz
Systemdienst / Autostart
Neue Datei anlegen
nano /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
[Service]
User=root
Group=root
ExecStart=/opt/node_exporter/node_exporter
[Install]
WantedBy=multi-user.target
Speichern und schließen mit
Win: STRG+O, ENTER, STRG+X
Mac: CONTROL+O, ENTER, CONTROL+X
Anschließend neue Datei laden, Dienst starten, Autostart aktivieren und Status prüfen
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
systemctl status node_exporter
Jetzt tragen wir diesen Exporter in der Konfiguration unseres Prometheus ein.
Sollte Prometheus auf einer anderen Umgebung installiert sein müssen wir uns auf dieser Anmelden.
Prometheus docker-compose.yml ergänzen
Prometheus läuft in einem Docker Container und es soll das Host System abgefragt werden - dieser Schritt kann übersprungen werden wenn ein externes System abgefragt werden soll und nicht der Docker Host.
Dazu muss in der docker-compose.yml folgendes ergänzt werden:
extra_hosts:
- "host.docker.internal:host-gateway"
Wenn es nach unserer Anleitung installiert wurde, sieht eure docker-compose.yml jetzt so aus:
version: '3.2'
services:
prometheus:
container_name: prometheus
hostname: prometheus
image: prom/prometheus
restart: unless-stopped
ports:
- "9090:9090"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./data:/etc/prometheus
- prometheus-data:/prometheus
volumes:
prometheus-data:
name: prometheus-data
Speichern und schließen mit
Win: STRG+O, ENTER, STRG+X
Mac: CONTROL+O, ENTER, CONTROL+X
Den Container neu starten:
sudo docker compose down
sudo docker compose up -d
Prometheus Konfiguration anpassen
In der "prometheus.yml" muss folgendes ergänzt werden:
Docker Host lokal abfragen:
scrape_configs:
- job_name: "NAME_EINTRAGEN"
static_configs:
- targets: ['host.docker.internal:9100']
Externes System abfragen:
scrape_configs:
- job_name: "NAME_EINTRAGEN"
static_configs:
- targets: ["IP_NODE_EXPORTER:9100"]
Bei Anmerkungen oder Fragen kommt gerne auf unseren Discord.