Logo Gray

Prometheus Node Exporter

wirt Installieren eine erste/ weiteren node exporter zur analyse eiens neuen servers. Auf diesem muss port 1900 freigegeben werden.

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

				
			

entpacken des archives

				
					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 Service datei 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 ber3eits verwndet. 

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 freigegebenen Port müsste auch folgendes 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.