Wie installiere ich Prometheus und Node Exporter auf AlmaLinux 9?

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 aktiven Community geworden. 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.

Der Node Exporter gibt die Hardware- und Kernel-Metriken von Linux-Rechnern aus. Es handelt sich um eine einzelne Binärdatei, die Daten und Metriken an den Prometheus-Server übermittelt.

Diese Anleitung zeigt dir, wie du Prometheus und Node Exporter auf AlmaLinux 9 Servern installierst.

Voraussetzungen

Vergewissere dich, dass du die folgenden Voraussetzungen hast, bevor du beginnst:

  • Zwei AlmaLinux 9 Server – In diesem Beispiel wird ein separater Server für Prometheus und Node Exporter verwendet.
  • Ein Nicht-Root-Benutzer kann sudo ausführen, um die Root-Rechte zu erhalten.

Installieren und Konfigurieren von Prometheus

Prometheus ist ein modernes Open-Source-System zur Systemüberwachung und Alarmierung. Es kann auf herkömmlichen Unix/Linux-Servern über ein vorkompiliertes Paket, mit Hilfe von Containertechnologien wie Docker und Kubernetes oder mit Konfigurationsmanagement-Tools wie Ansible, Chef, Puppet und Saltstack installiert werden.

Der folgende Abschnitt zeigt dir, wie du Prometheus über eine vorkompilierte Binärdatei auf einem ALmaLinux 9 Server installierst.

Befolge diese Schritte, um Prometheus erfolgreich auf deinem AlmaLinux Server zu installieren:

  • Benutzer und Verzeichnisse einrichten
  • Herunterladen des Prometheus-Binärpakets
  • Prometheus Server konfigurieren
  • Prometheus im Hintergrund als Systemd-Dienst laufen lassen

Benutzer und Verzeichnisse einrichten

Bevor du Prometheus installierst, musst du einen neuen Benutzer und Verzeichnisse auf deinem System anlegen. Dieser Benutzer wird verwendet, um Prometheus auszuführen, und einige der Verzeichnisse werden verwendet, um Prometheus-Konfigurationsdateien und -Daten zu speichern.

Führe den folgenden Befehl aus, um einen neuen Systembenutzer prometheus zu erstellen.

sudo adduser -M -r -s /sbin/nologin prometheus

Führe den folgenden Befehl aus, um ein neues Verzeichnis /etc/prometheus zu erstellen, in dem die Prometheus-Konfigurationsdateien gespeichert werden, sowie das Verzeichnis /var/lib/prometheus, das als Datenverzeichnis für Prometheus verwendet wird.

sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus

Führe nun den folgenden Befehl aus, um die Eigentümerschaft der beiden Verzeichnisse /etc/prometheus und /var/lib/prometheus auf den Benutzer prometheus und die Gruppe prometheus zu ändern.

sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus

Hinzufügen von Benutzer Benutzer und Verzeichnis

Herunterladen des vorkompilierten Prometheus-Pakets

Jetzt installierst du prometheus auf deinem Server. In dieser Demo wirst du Prometheus über ein vorkompiliertes Binärpaket installieren. Du wirst Prometheus auf einem AlmaLinux-Server mit der IP-Adresse 192.168.10.20 installieren.

Führe den folgenden dnf-Befehl aus, um wget auf deinem System zu installieren.

sudo dnf install wget -y

wget installieren

Verschiebe dein Arbeitsverzeichnis nach /usr/src und lade die vorkompilierte Binärdatei von Prometheus über wget herunter.

cd /usr/src
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz

Entpacke nun die Prometheus-Binärdatei prometheus-2.44.0.linux-amd64.tar.gz mit dem unten stehenden tar-Befehl. Du solltest ein neues Verzeichnis prometheus-2.44.0.linux-amd64 erhalten, das die Prometheus-Binärdatei und einige der Standardkonfigurationen enthält.

tar -xf prometheus-2.44.0.linux-amd64.tar.gz

Führe den unten stehenden Befehl aus, um die Standard-Prometheus-Konfigurationsdatei prometheus.yml und einige wichtige Verzeichnisse nach /etc/prometheus/ zu kopieren.

sudo cp /usr/src/prometheus-*/prometheus.yml /etc/prometheus/
sudo cp -r /usr/src/prometheus-*/consoles /etc/prometheus
sudo cp -r /usr/src/prometheus-*/console_libraries /etc/prometheus

Danach änderst du mit dem folgenden Befehl die Eigentümerschaft des Verzeichnisses /etc/prometheus/ auf den Benutzer promtheus und die Gruppe prometheus.

sudo chown -R prometheus:prometheus /etc/prometheus

Download von Prometheus

Führe anschließend den folgenden Befehl aus, um die Binärdatei von prometheus und promtool in das Verzeichnis /usr/bin/ zu kopieren.

sudo cp /usr/src/prometheus-*/prometheus /usr/bin/
sudo cp /usr/src/prometheus-*/promtool /usr/bin/

Überprüfe dann prometheus und promtool mit dem folgenden Befehl.

which prometheus
prometheus --version
which promtool
promtool --version

Wenn die Installation erfolgreich war, solltest du den vollständigen Pfad des prometheus- und promtool-Befehls sehen, der sich im Verzeichnis /usr/bin/ befindet. Außerdem siehst du die installierte Version von Prometheus.

prometheus überprüfen

Prometheus konfigurieren

Nachdem prometheus heruntergeladen und installiert wurde, beginnst du mit der Grundkonfiguration von Prometheus.

Öffne die Prometheus-Konfigurationsdatei /etc/prometheus/prometheus.yml mit dem nano-Editor.

nano /etc/prometheus/prometheus.yml

Füge beim Parameter scrape_configs den neuen Job prometheus mit dem Ziel des Prometheus-Servers selbst hinzu. In diesem Beispiel hat der Prometheus-Server eine IP-Adresse von 192.168.10.20 und wird Metriken für Prometheus scrapen.

# 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.10.20:9090“]

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes erstellst du mit dem Editor-Befehl nano eine neue systemd-Dienstdatei für Prometheus in /etc/systemd/system/prometheus.service.

sudo nano /etc/systemd/system/prometheus.service

Füge die folgende Konfiguration hinzu, um Prometheus als systemd-Dienst auszuführen.

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
[Service]
User=prometheus
Group=prometheus
Type=simple
ExecStart=/usr/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 Datei und schließe den Editor, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um den systemd Manager neu zu laden und die Änderungen in systemd zu übernehmen.

sudo systemctl daemon-reload

Starte und aktiviere dann den prometheus-Dienst mit dem folgenden systemctl-Befehl.

sudo systemctl start prometheus
sudo systemctl enable prometheus

prometheus im Hintergrund als systemd-Dienst laufen lassen

Überprüfe den prometheus-Dienst, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status prometheus

Wenn deine Installation erfolgreich war, solltest du sehen, dass der Status des prometheus-Dienstes aktiv ist (läuft).

prometheus überprüfen

Starte deinen Webbrowser und rufe die IP-Adresse des Servers gefolgt von Port 9090 (d.h. http://192.168.10:20:9090/) auf. Wenn die Installation erfolgreich war, solltest du die Prometheus-Grafikseite wie folgt erhalten:

prometheus graph

Du kannst den Status des Monitoring-Endpunkts auch überprüfen, indem du auf Status > Ziele klickst. Du solltest den Job_name prometheus mit dem Status UP sehen.

Zielüberwachung überprüfen

Installieren und Konfigurieren von Node Exporter auf dem Monitoring-Ziel

Node Exporter ist eine Anwendung von Prometheus, die die Systemmetriken des Target Monitoring offenlegt. Sie ermöglicht es dir, eine Vielzahl von Systemmetriken abzufragen und für die weitere Verarbeitung an Prometheus zu übergeben.

In diesem Abschnitt wirst du Node Exporter auf einem AlmaLinux 9 Server mit der IP-Adresse 192.168.10.21 installieren. Du installierst Node Exporter über ein vorkompiliertes Binärpaket, das von Prometheus bereitgestellt wird.

Herunterladen und Installieren von Node Exporter

Um Node Exporter zu installieren, musst du einen eigenen Systembenutzer anlegen und das Binärpaket von Node Exporter auf dein System herunterladen.

Führe zunächst den folgenden Befehl aus, um einen neuen Systembenutzer node_exporter anzulegen.

sudo adduser -M -r -s /sbin/nologin node_exporter

Installiere wget mit dem unten stehenden dnf-Befehl.

sudo dnf install wget -y

wget installieren

Wechsle dann in das Verzeichnis /usr/src und lade die vorkompilierte Binärdatei von Node Exporter mit wget herunter.

cd /usr/src/
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz

Sobald der Download abgeschlossen ist, solltest du die Datei node_exporter-1.6.0.linux-amd64.tar.gz sehen. Entpacke sie mit dem unten stehenden tar-Befehl.

tar -xf node_exporter-1.6.0.linux-amd64.tar.gz

Verschiebe die Binärdatei von Node Exporter mit dem unten stehenden Befehl in das Verzeichnis /usr/bin.

mv node_exporter-*/node_exporter /usr/bin

Überprüfe Node Exporter mit dem unten stehenden Befehl. Wenn du erfolgreich bist, solltest du den vollständigen Pfad der Binärdatei und die Version von Node Exporter erhalten.

which node_exporter
node_exporter --version

Installation des Node-Exporters

Node Exporter im Hintergrund als Dienst ausführen

Nachdem Node Exporter installiert ist, musst du Node Exporter als systemd-Dienst im Hintergrund einrichten und ausführen.

Dazu erstellst du eine neue systemd-Dienstdatei /etc/systemd/system/node_exporter.service mit dem unten stehenden nano-Editorbefehl. In diesem Beispiel wirst du Node Exporter als systemd-Dienst ausführen.

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

Füge die folgende Konfiguration in die Datei ein.

[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/bin/node_exporter

[Install]
WantedBy=multi-user.target

Speichere und beende die Datei, wenn du fertig bist.

Führe nun den Befehl systemctl aus, um den systemd Manager neu zu laden.

sudo systemctl daemon-reload

Starte und aktiviere dann den Dienst node_exporter mit dem folgenden Befehl.

sudo systemctl start node_exporter
sudo systemctl enable node_exporter

Node-Exporter als Dienst ausführen

Sobald node_exporter gestartet und aktiviert ist, führe den folgenden Befehl aus, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status node_exporter

Wenn er läuft, solltest du den Dienst node_exporter mit dem Status active (läuft) sehen.

Überprüfung des Node-Exporter-Dienstes

Überprüfe mit folgendem Befehl den Port von Node Exporter. Standardmäßig wird er auf Port 9100 ausgeführt.

ss -tulpn | grep node

Du solltest sehen, dass Port 9100 vom node_exporter-Dienst verwendet wird.

Überprüfung des Knotenexporteurs

Du kannst dies auch über einen Webbrowser überprüfen, indem du die IP-Adresse des Servers gefolgt von Port 9100 aufrufst (d.h. http://192.168.10.21:9100/). Du solltest die Endpunktdaten der Serverüberwachung über Node Exporter sehen.

Überprüfung der Metriken des Knotenexporteurs

Hinzufügen von Node Exporter zum Prometheus Server

In diesem Abschnitt fügst du den Node Exporter zum Prometheus-Server hinzu. Nachdem du die Systemmetriken auf dem Server 192.168.10.21 installiert und zugänglich gemacht hast, fügst du sie nun dem Prometheus-Server hinzu, der auf 192.168.10.20 läuft.

Öffne die Prometheus-Konfiguration /etc/prometheus/prometheus.yml mit dem folgenden nano-Editor.

sudo nano /etc/prometheus/prometheus.yml

Füge im Parameter scrape_config einen neuen job_name node_exporter_metrics hinzu und gib den Detail-Endpunkt des Node Exporters ein. Im folgenden Beispiel wird der Server node1 mit der IP-Adresse 192.168.10.21 überwacht.

  - job_name: 'node_exporter_metrics'
    scrape_interval: 5s
    static_configs:
      - targets: ['192.168.10.21:9100']

Speichere die Datei und schließe den Editor, wenn du fertig bist.

Hinzufügen des Node-Exporters zu Prometheus

Führe nun den folgenden Befehl aus, um den prometheus-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart prometheus

Öffne nun prometheus in deinem Webbrowser und klicke auf Status > Targets, um sicherzustellen, dass der Node Exporter hinzugefügt wurde. Wenn dies erfolgreich war, solltest du den Job node_exporter_metrics mit dem Status UP sehen.

Überprüfung des Knotenexporters in Prometheus

Als Nächstes gehst du zum Menü Graph und gibst die Abfrage ein, die mit node_ beginnt, um die Liste der vom Node Exporter bereitgestellten Abfragen zu erhalten.

Knotenexporter-Abfragen

Gib die Abfrage node_network_iface_id ein, um die Liste der Netzwerkgeräte auf dem Server 192.168.10.21 zu erhalten.

Überprüfung der Listenschnittstellen

Du kannst auch die Details der Betriebssysteminformationen mit der Abfrage node_os_info überprüfen.

os information node exporter

Schließlich gibst du die Abfrage node_load15 ein und klickst auf die Registerkarte Graph, um den Status der Systemauslastung für die letzten 15 Minuten zu erhalten.

Systemlast letzte 15min

Fazit

Ausgezeichnete Arbeit! Du hast Prometheus erfolgreich auf einem AlmaLinux 9 Server installiert und auch einen AlmaLinux Server über den Node Exporter überwacht.

Jetzt kannst du einen anderen Server oder deine Anwendung über den Prometheus-Exporter überwachen. Du kannst dein Prometheus auch mit Grafana integrieren, um dein Monitoring-System zu visualisieren.

Das könnte dich auch interessieren …