So installierst du Prometheus und Node Exporter auf Rocky Linux
Prometheus ist eine Open-Source-Plattform zur Überwachung und Alarmierung.
Ursprünglich wurde Prometheus im Jahr 2012 von Soundcloud entwickelt. Seitdem wurde das Prometheus-Projekt von einigen bekannten Unternehmen übernommen und ist zu einem größeren Projekt mit sehr aktiven Entwicklern und einer großen Community angewachsen. Im Jahr 2016 wurde das Prometheus-Projekt in die Cloud Native Computing Foundation (CNCF) aufgenommen.
Grundlegende Konzepte, die du kennen musst
Im Grunde sammelt Prometheus Daten und Metriken über HTTP-Endpunkte von den Zielservern und speichert dann alle Daten als Zeitreihen. In Prometheus werden die Zeitreihendaten durch Metriknamen und Schlüssel/Wert-Paare identifiziert.
Prometheus bietet Flexibilität durch die Prometheus Query Language (PromQL). Du kannst PromQL verwenden, um die Prometheus-Zeitreihendatenbank abzufragen.
Auf den Zielservern musst du die„Exporter„-Anwendung installieren, die alle Daten und Metriken für Prometheus bereitstellt. Der „Node Exporter“ ist ein häufig verwendeter Exporter zur Überwachung von Linux-Maschinen.
DerNode Exporter stellt Hardware- und Kernel-bezogene Metriken von Linux-Rechnern zur Verfügung. Es handelt sich um eine einzelne Binärdatei, die Daten und Metriken an den Prometheus-Server übermittelt.
Voraussetzungen
In diesem Artikel erfährst du, wie du das Prometheus Monitoring Tool und den Node Exporter auf einem Rocky Linux 8 System installierst.
Bevor du beginnst, solltest du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:
- Betriebssystem: Rocky Linux 8.5 (Green Obsidian)
- Root-Rechte
Für dieses Beispiel verwenden wir das Rocky Linux System mit der IP-Adresse„192.168.1.10„.
Jetzt können wir anfangen.
Neuen Benutzer und Verzeichnis hinzufügen
Zunächst legst du einen neuen Systembenutzer „prometheus“ an und erstellst dann ein neues Konfigurations- und Datenverzeichnis für die Prometheus-Installation.
1. Führe den folgenden Befehl aus, um einen neuen Benutzer„prometheus“ anzulegen.
sudo adduser -M -r -s /sbin/nologin prometheus
2. Danach erstellst du mit folgendem Befehl ein neues Konfigurationsverzeichnis „/etc/prometheus“ und das Datenverzeichnis„/var/lib/prometheus„.
sudo mkdir /etc/prometheus sudo mkdir /var/lib/prometheus
Die gesamte Prometheus-Konfiguration wird im Verzeichnis‚/etc/prometheus‚ verfügbar sein und alle Prometheus-Daten werden automatisch im Verzeichnis‚/var/lib/prometheus‚ gespeichert.
Installation von Prometheus auf Rocky Linux
In diesem Schritt installierst du das Prometheus-Monitoring-System manuell aus dem Tarball oder der tar.gz-Datei.
Wähle die Prometheus-Version unter diesem Link aus. Für dieses Beispiel werden wir die neueste Version von Prometheus installieren.
1. Ändere das Arbeitsverzeichnis in „/usr/src“ und lade die Prometheus-Binärdatei mit dem folgenden Befehl herunter.
cd /usr/src wget https://github.com/prometheus/prometheus/releases/download/v2.31.1/prometheus-2.31.1.linux-amd64.tar.gz
Nachdem der Download abgeschlossen ist, entpacke die Prometheus-Datei.
tar -xf prometheus-2.31.1.linux-amd64.tar.gz
Nun siehst du ein neues Verzeichnis‚prometheus-VERSION.OS‚.
2. Als Nächstes kopierst du alle Prometheus-Konfigurationen in das Verzeichnis ‚/etc/prometheus‘ und die Binärdatei‚prometheus‚ in das Verzeichnis‚/usr/local/bin‚.
Setze die Umgebungsvariable‚PROM_SRC‚ in das Verzeichnis ‚/usr/src/prometheus-*‚.
export PROM_SRC=/usr/src/prometheus-*
Kopiere die prometheus-Konfiguration„prometheus.yml“ in das Verzeichnis„/etc/prometheus„.
sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/
Kopiere die Binärdateien„prometheus“ und„promtool“ in das Verzeichnis „/usr/local/bin/„.
sudo cp $PROM_SRC/prometheus /usr/local/bin/ sudo cp $PROM_SRC/promtool /usr/local/bin/
Kopiere die Vorlagen und Bibliotheken der Prometheus-Konsole in das Verzeichnis „/etc/prometheus“.
sudo cp -r $PROM_SRC/consoles /etc/prometheus sudo cp -r $PROM_SRC/console_libraries /etc/prometheus
3. Als Nächstes bearbeitest du die Prometheus-Konfiguration„/etc/prometheus/prometheus.yml“ mit dem Editor nano.
nano /etc/prometheus/prometheus.yml
Bei der Option„scrape_configs“ musst du eventuell Überwachungsaufträge hinzufügen und festlegen, wie alle Daten vom Ziel abgefragt werden sollen.
In der Standardkonfiguration sind der Name des Überwachungsauftrags „prometheus“ und der Zielserver„localhost“ über die Option„static_configs“ vorgegeben.
Ändere das Ziel von „localhost:9090“ in die Server-IP-Adresse„192.168.1.10:9090“ (siehe unten).
# A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: "prometheus"
# metrics_path defaults to ‚/metrics‘
# scheme defaults to ‚http‘.
static_configs:
– targets: [„192.168.1.10:9090“]
Speichere die Konfiguration und beende sie.
4. Führe nun den folgenden Befehl aus, um die Konfigurations- und Datenverzeichnisse auf den Benutzer„promethues“ zu ändern.
sudo chown prometheus:prometheus /etc/prometheus sudo chown prometheus:prometheus /var/lib/prometheus
Damit hast du die grundlegende Installation von Prometheus abgeschlossen.
Prometheus-Service-Datei einrichten
In diesem Schritt richtest du Prometheus als systemd-Dienst ein.
1. Erstelle eine neue systemd-Dienstdatei „/etc/systemd/system/prometheus.service“ mit dem Editor nano.
sudo nano /etc/systemd/system/prometheus.service
Kopiere die folgende Konfiguration und füge sie ein.
[Unit] Description=Prometheus Wants=network-online.target After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/local/bin/prometheus \
–config.file /etc/prometheus/prometheus.yml \
–storage.tsdb.path /var/lib/prometheus/ \
–web.console.templates=/etc/prometheus/consoles \
–web.console.libraries=/etc/prometheus/console_libraries
[Install]
WantedBy=multi-user.target
Speichere die Konfiguration und beende sie.
2. Lade den systemd Manager neu, um die neue Konfiguration anzuwenden.
sudo systemctl daemon-reload
3. Führe nun den folgenden Befehl aus, um den Prometheus-Dienst zu starten und zu aktivieren, und überprüfe dann den aktuellen Status des Dienstes.
sudo systemctl enable --now prometheus sudo systemctl status prometheus
Wenn deine Installation erfolgreich war, siehst du, dass der Prometheus-Dienst aktiv ist und wie unten dargestellt läuft.
Das Prometheus-Überwachungstool ist jetzt über den TCP-Port„9090“ erreichbar.
4. Öffne deinen Webbrowser und gib die IP-Adresse des Servers mit dem Port„9090“ in die Adresszeile ein.
http://192.168.1.10:9090/
Du siehst dann die unten stehende Abfrage des Prometheus-Dashboards.
Damit ist die Installation von prometheus abgeschlossen. Gehe zum nächsten Schritt über, um den Node Exporter zu installieren.
Installation von Node Exporter auf Rocky Linux
Der Node Exporter ist Teil des prometheus-Projekts. Mit dem Node Exporter kannst du Metriken von Linux-Servern auf den Prometheus-Server exportieren.
In diesem Schritt installierst du den Node-Exporter auf dem Rocky-Linux-System aus der tar.gz-Datei.
Unter diesem Link findest du die neueste Version des Node-Exporters. In diesem Beispiel installieren wir Node-Exporter Version 1.3.0.
1. Wechsle das Arbeitsverzeichnis zu„/usr/src“ und lade die Node-Exporter-Binärdatei mit dem folgenden Befehl herunter.
cd /usr/src/ wget https://github.com/prometheus/node_exporter/releases/download/v1.3.0/node_exporter-1.3.0.linux-amd64.tar.gz
Wenn der Downloadvorgang abgeschlossen ist, entpacke die Node-Exporter-Datei.
tar -xf node_exporter-1.3.0.linux-amd64.tar.gz
Jetzt erhältst du ein neues Verzeichnis ’node_exporter-VERSION.OS‚.
2. Als Nächstes verschiebst du die Node-Exporter-Binärdatei mit dem folgenden Befehl in das Verzeichnis „/usr/local/bin„.
mv node_exporter-*/node_exporter /usr/local/bin
Gehe zum nächsten Schritt über, um den Node_exporter als systemd-Dienst einzurichten.
Node_exporter als Dienst einrichten
Bevor du eine Node-Exporter-Dienstdatei erstellst, musst du einen neuen Systembenutzer„node_exporter“ anlegen.
1. Führe den folgenden Befehl aus, um einen neuen Systembenutzer anzulegen.
sudo adduser -M -r -s /sbin/nologin node_exporter
2. Als Nächstes erstellst du mit dem nano-Editor eine neue Dienstdatei für den Node-Exporter „/etc/systemd/system/node_exporter.service“.
sudo nano /etc/systemd/system/node_exporter.service
Kopiere die folgende Konfiguration und füge sie ein.
[Unit] Description=Node Exporter After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
Speichere die Konfiguration und beende sie.
3. Lade nun den systemd manager neu, um die neue Konfiguration anzuwenden.
sudo systemctl daemon-reload
4. Starte und aktiviere den Dienst „node_exporter“ mit dem folgenden Befehl.
sudo systemctl enable --now node_exporter
Überprüfe danach den aktuellen Status des Dienstes „node_exporter“.
sudo systemctl status node_exporter
Stelle sicher, dass der Dienst„node_exporter“ aktiv ist und läuft.
5. Der Node-Exporter läuft auf dem Standardport„9100„. Überprüfe dies mit dem ss-Befehl unten.
ss -aplnt | grep node
Du wirst eine ähnliche Ausgabe wie unten sehen.
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=683,fd=4)) LISTEN 0 128 *:9090 *:* users:(("prometheus",pid=709,fd=8)) LISTEN 0 128 *:9100 *:* users:(("node_exporter",pid=5786,fd=3)) LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=683,fd=6))
Damit hast du die Installation des Node-Exporters auf dem Rocky Linux System abgeschlossen.
Hinzufügen von node_exporter zu Prometheus
Nachdem du die Installation von Prometheus und dem Node-Exporter abgeschlossen hast, fügst du den Node-Exporter zum Prometheus-Server hinzu.
1. Bearbeite die Prometheus-Konfiguration mit dem nano-Editor.
sudo nano /etc/prometheus/prometheus.yml
Füge unter dem Abschnitt„scrape_config“ einen neuen Prometheus-Job mit der folgenden Konfiguration hinzu. Achte darauf, dass du die IP-Adresse des Servers mit deinem Zielserver abgleichst.
- job_name: 'node_exporter_metrics' scrape_interval: 5s static_configs: - targets: ['SERVER-IP:9100']
Speichere die Konfiguration und beende sie.
2. Starte nun den Prometheus-Dienst neu, um die neue Konfiguration anzuwenden.
sudo systemctl restart prometheus
Und schon hast du den Node-Exporter zum Prometheus-Server hinzugefügt.
Überprüfe die Installation von Prometheus und Node Exporter
1. Gehe zurück zum Prometheus-Dashboard, klicke auf das Menü„Status“ und wähle„Targets„.
Du wirst zwei verschiedene Endpunkte sehen, den„prometheus“ und den„node_exporter_metrics„.
2. Als Nächstes gehst du zum Menü„Graph“ und gibst die PromQL-Abfrage in die Suchleiste ein. In diesem Beispiel überprüfst du das detaillierte Betriebssystem mit der Abfrage„node_os_info„.
Du erhältst dann detaillierte Informationen über dein aktuelles Betriebssystem.
3. Ein weiteres Beispiel: Überprüfe die Netzwerkgeschwindigkeiten mit der Abfrage„node_network_speed_bytes“ und gehe dann auf die Registerkarte„Graph„. Du wirst eine ähnliche Ausgabe wie unten sehen.
Jetzt hast du Prometheus und den Node-Exporter erfolgreich auf dem Rocky Linux System installiert.
Fazit
Herzlichen Glückwunsch! Du hast die grundlegende Installation und Konfiguration des Prometheus-Monitoring-Systems und des Node-Exporters auf dem Rocky-Linux-System gelernt.
Im nächsten Schritt kannst du einen anderen Prometheus-Exporter für andere Anwendungen und Grafana Dashboard als Monitoring-App ausprobieren.