Logo Gray

Prometheus Node Exporter

wir Installieren einen ersten/ weiteren „node exporter“ zur Analyse eines neuen Servers.

Der neue Server muss port 1900 offen haben.

Zuerst müssen wir die aktuelle node exporter version herausfinden: https://github.com/prometheus/node_exporter/releases

In dieser Anleitung ist die aktuelle Version v1.8.0.

Diese ggf. überall anpassen. 

				
					node_exporter --version

				
			
				
					wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz

				
			

Wir entpacken das Archiv.

				
					tar xvfz node_exporter-1.8.0.linux-amd64.tar.gz

				
			

verschieben der Dateien.

				
					sudo mv node_exporter-1.8.0.linux-amd64/node_exporter /usr/local/bin/


				
			

Altes Archiv löschen.

				
					rm -rf node_exporter-1.8.0.linux-amd64*

				
			

Die Binärdatei liegt jetzt hier.

				
					cd /usr/local/bin/
				
			

Wir legen einen benutzer für den exporter an.

Wir legen eine Servicedatei an.

				
					sudo useradd -rs /bin/false node_exporter

				
			
				
					sudo groupadd node_exporter
				
			
				
					sudo nano /etc/systemd/system/node_exporter.service

				
			

Wir fügen folgende config in die neu erstellte Datei ein. Der Description Name ist egal.

ggf. muss auch ein anderer Port verwendet werden, wenn der aktuelle server port 1900 bereits verwendet wird. 

Zum löschen ganz oft strg + k

				
					[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter --web.listen-address=":1900"
Restart=always

[Install]
WantedBy=default.target

				
			

zum verlassen: strg +s | strg + x

				
					sudo systemctl enable node_exporter
				
			
				
					sudo systemctl daemon-reload
				
			
				
					sudo systemctl restart node_exporter

				
			
				
					sudo systemctl status node_exporter

				
			

Zuletzt sollten wir nochmal testen ob die daten lokal bereits zur Verfügung gestellt werden.

				
					curl localhost:1900/metrics
				
			

Mit freigegebenem Port müsste auch folgender befehl die Daten zurückgeben.

				
					curl http://<DEINE-DOMAIN>:1900/metrics

				
			

Schritt 2: Prometheus die Daten einlesen lassen

Wir wechseln zum Prometheus Server, dem wir jetzt das neue „Target“ hinzufügen müssen.

				
					ssh root@<DEINE-IP>
				
			
				
					ssh root@<DEINE-IP>
				
			

Öffne oder finde deine prometheus.yml

				
					nano /etc/prometheus/prometheus.yml
				
			
				
					sudo find / -name prometheus.yml

				
			

Unter dem „scrape_configs“ fügen wir nun einen job hinzu. Eine vollständige Config beinhaltet nur noch:

global:
  scrape_interval: 15s 

Passe den job_name an. Dies ist der Name der später in Grafana zu sehen ist. 

Es darf nur einmal die Überschrift „scrape_copnfigs“ geben.

				
					      #Job for my server: XXX'
scrape_configs:
  - job_name: 'jonasmenter_com'
    static_configs:
      - targets: ['<YOUR-DOMAIN>:1900']

				
			

strg + s |strg + x

				
					sudo systemctl restart prometheus
				
			
				
					sudo systemctl status  prometheus
				
			

Jetzt müsste im Prometheus Dashboard > Status >  Targets der neue Job zu finden sein und „UP“ zeigen.

Damit ist auch direkt, die Statistik in Grafana sichtbar, wenn das bereits eingerichtet ist.