Prometheus ist eine Open-Source-Überwachungs- und Warnplattform.
Ursprünglich wurde Prometheus 2012 von Soundcloud erstellt. Seitdem ist das Prometheus-Projekt, das von einigen berühmten Unternehmen übernommen wurde, zu einem größeren Projekt mit sehr aktiven Entwicklern und einer Community geworden. Und 2016 wird das Prometheus-Projekt von der Cloud Native Computing Foundation (CNCF) abgeschlossen .
Grundlegende Konzepte, die Sie kennen müssen
Im Grunde Prometheus sammelt Daten und Metriken über HTTP-Endpunkte von Zielservern und speichert dann alle Daten als Zeitreihen. In Prometheus werden Zeitreihendaten durch Metriknamen und Schlüssel/Wert-Paare identifiziert.
Prometheus bietet Flexibilität durch die Prometheus Query Language (PromQL). Sie können PromQL verwenden, um die Prometheus-Zeitreihendatenbank abzufragen.
Auf den Zielservern müssen Sie den 'Exporter installieren '-Anwendung, die Prometheus alle Daten und Metriken zur Verfügung stellt. 'Node Exporter' ist ein häufig verwendeter Exporter zur Überwachung von Linux-Rechnern.
Knoten-Exporter legt Hardware- und Kernel-bezogene Matrizen von Linux-Maschinen offen. Es wird als einzelne Binärdatei geliefert, die Datenendmetriken für den Prometheus-Server verfügbar macht.
Voraussetzungen
In diesem Artikel erfahren Sie, wie Sie das Prometheus-Überwachungstool und den Node Exporter auf einem Rocky Linux 8-System installieren.
Bevor Sie beginnen, vergewissern Sie sich, dass die folgenden Anforderungen erfüllt sind:
- 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 fangen wir an.
Neuen Benutzer und neues Verzeichnis hinzufügen
Zuerst erstellen Sie einen neuen Systembenutzer „prometheus“, dann ein neues Konfigurationsverzeichnis und ein neues Datenverzeichnis für die Prometheus-Installation.
1. Führen Sie den folgenden Befehl aus, um einen neuen Benutzer „prometheus“ zu erstellen '.
sudo adduser -M -r -s /sbin/nologin prometheus
2. Erstellen Sie danach ein neues Konfigurationsverzeichnis '/etc/prometheus ' und das Datenverzeichnis '/var/lib/prometheus ' mit dem folgenden Befehl.
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
Die gesamte Prometheus-Konfiguration ist unter '/etc/prometheus verfügbar ' Verzeichnis, und alle Prometheus-Daten werden automatisch im Verzeichnis '/var/lib/prometheus gespeichert '.
Installieren von Prometheus unter Rocky Linux
In diesem Schritt installieren Sie das Prometheus-Überwachungssystem manuell aus der Tarball- oder tar.gz-Datei.
Wählen Sie die Prometheus-Version über diesen Link. In diesem Beispiel installieren wir die neueste Version von Prometheus.
1. Ändern Sie das Arbeitsverzeichnis in „/usr/src“ und laden Sie 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
Extrahieren Sie nach Abschluss des Download-Vorgangs die Prometheus-Datei.
tar -xf prometheus-2.31.1.linux-amd64.tar.gz
Jetzt sehen Sie ein neues Verzeichnis 'prometheus-VERSION.OS '.
2. Als nächstes kopieren Sie alle Prometheus-Konfigurationen in das Verzeichnis '/etc/prometheus' und die Binärdatei 'prometheus ' in die '/usr/local/bin ' Verzeichnis.
Richten Sie die Umgebungsvariable 'PROM_SRC ein ' in das Verzeichnis '/usr/src/prometheus-* '.
export PROM_SRC=/usr/src/prometheus-*
Kopieren Sie die Prometheus-Konfiguration 'prometheus.yml ' in das Verzeichnis '/etc/prometheus .
sudo cp $PROM_SRC/prometheus.yml /etc/prometheus/
Kopieren Sie die Binärdatei '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/
Kopieren Sie Prometheus-Konsolenvorlagen und -Bibliotheken in das Verzeichnis „/etc/prometheus“.
sudo cp -r $PROM_SRC/consoles /etc/prometheus
sudo cp -r $PROM_SRC/console_libraries /etc/prometheus
3. Bearbeiten Sie als Nächstes die Prometheus-Konfiguration „/etc/prometheus/prometheus.yml“ Verwenden des Nano-Editors.
nano /etc/prometheus/prometheus.yml
Auf der 'scrape_configs '-Option müssen Sie möglicherweise Überwachungsjobs hinzufügen und erfahren, wie alle Daten vom Ziel gelöscht werden.
Die Standardkonfiguration enthält den Standardnamen des Überwachungsjobs „prometheus“ und den Zielserver „localhost ' durch die 'static_configs ' Option.
Ändern Sie das Ziel von 'localhost:9090' an die Server-IP-Adresse '192.168.1.10:9090 ' wie 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"]
Speichern Sie die Konfiguration und beenden Sie.
4. Führen Sie 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
Jetzt haben Sie die grundlegende Prometheus-Installation abgeschlossen.
Prometheus-Dienstdatei einrichten
In diesem Schritt richten Sie Prometheus als Systemdienst ein.
1. Erstellen Sie eine neue Systemd-Dienstdatei „/etc/systemd/system/prometheus.service“ mit dem Nano-Editor.
sudo nano /etc/systemd/system/prometheus.service
Kopieren Sie die folgende Konfiguration und fügen Sie 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
Speichern Sie die Konfiguration und beenden Sie.
2. Laden Sie als Nächstes den systemd-Manager neu, um eine neue Konfiguration anzuwenden.
sudo systemctl daemon-reload
3. Führen Sie nun den folgenden Befehl aus, um den Prometheus-Dienst zu starten und zu aktivieren, und überprüfen Sie dann den aktuellen Status.
sudo systemctl enable --now prometheus
sudo systemctl status prometheus
Wenn Ihre Installation erfolgreich ist, sehen Sie, dass der Prometheus-Dienst aktiv ist und wie unten ausgeführt wird.
Das Prometheus-Überwachungstool ist jetzt über den TCP-Port '9090 zugänglich .
4. Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port „9090“ ein ' in der Adressleiste.
http://192.168.1.10:9090/
Und Sie sehen die Prometheus-Dashboard-Abfrage unten.
Jetzt haben Sie die Prometheus-Installation abgeschlossen. Fahren Sie mit dem nächsten Schritt zur Installation von Node Exporter fort.
Node Exporter unter Rocky Linux installieren
Node Exporter ist Teil des Prometheus-Projekts. Sie können den Node-Exporter verwenden, um Metriken von Linux-Servern auf den Prometheus-Server zu exportieren.
In diesem Schritt installieren Sie den Node-Exporter auf dem Rocky Linux-System aus der tar.gz-Datei.
Überprüfen Sie diesen Link, um die neueste Version des Node-Exporters zu erhalten. In diesem Beispiel installieren wir die Node-Exporter-Version 1.3.0.
1. Ändern Sie das Arbeitsverzeichnis in „/usr/src ' und laden Sie die Binärdatei des Node-Exporters 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 Download-Vorgang abgeschlossen ist, extrahieren Sie die Node-Exporter-Datei.
tar -xf node_exporter-1.3.0.linux-amd64.tar.gz
Jetzt erhalten Sie ein neues Verzeichnis 'node_exporter-VERSION.OS '.
2. Verschieben Sie als Nächstes die Binärdatei des Node-Exporters in das Verzeichnis '/usr/local/bin ' mit dem folgenden Befehl.
mv node_exporter-*/node_exporter /usr/local/bin
Fahren Sie mit dem nächsten Schritt fort, um den Knotenexporter als Systemdienst einzurichten.
Node_exporter als Dienst einrichten
Erstellen Sie vor dem Erstellen einer Node-Exporter-Dienstdatei einen neuen Systembenutzer „node_exporter“ .
1. Führen Sie den folgenden Befehl aus, um einen neuen Systembenutzer zu erstellen.
sudo adduser -M -r -s /sbin/nologin node_exporter
2. Erstellen Sie als Nächstes eine neue Dienstdatei für den Knotenexporter „/etc/systemd/system/node_exporter.service“ mit dem Nano-Editor.
sudo nano /etc/systemd/system/node_exporter.service
Kopieren Sie die folgende Konfiguration und fügen Sie 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
Speichern Sie die Konfiguration und beenden Sie.
3. Laden Sie nun den systemd-Manager neu, um die neue Konfiguration zu übernehmen.
sudo systemctl daemon-reload
4. Starten und aktivieren Sie den Dienst „node_exporter“ mit dem folgenden Befehl.
sudo systemctl enable --now node_exporter
Überprüfen Sie danach den aktuellen Status des Dienstes 'node_exporter'.
sudo systemctl status node_exporter
Stellen Sie sicher, dass der 'node_exporter ' Dienst ist aktiv und wird ausgeführt.
5. Der Node-Exporter wird auf dem Standardport „9100 ausgeführt '. Überprüfen Sie dies mit dem folgenden ss-Befehl.
ss -aplnt | grep node
Sie werden 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))
Und Sie haben die Installation des Node-Exporters auf dem Rocky Linux-System abgeschlossen.
Node_exporter zu Prometheus hinzufügen
Nachdem Sie die Installation von Prometheus und Node Exporter abgeschlossen haben, fügen Sie den Node Exporter zum Prometheus-Server hinzu.
1. Bearbeiten Sie die Prometheus-Konfiguration mit dem Nano-Editor.
sudo nano /etc/prometheus/prometheus.yml
Unter der 'scrape_config ' Abschnitt, fügen Sie einen neuen Prometheus-Job mit der folgenden Konfiguration hinzu. Und stellen Sie sicher, dass Sie die Server-IP-Adresse mit Ihrem Zielserver ändern.
- job_name: 'node_exporter_metrics'
scrape_interval: 5s
static_configs:
- targets: ['SERVER-IP:9100']
Speichern Sie die Konfiguration und beenden Sie.
2. Starten Sie nun den Prometheus-Dienst neu, um eine neue Konfiguration anzuwenden.
sudo systemctl restart prometheus
Und Sie haben den Node-Exporter zum Prometheus-Server hinzugefügt.
Überprüfen Sie die Installation von Prometheus und Node Exporter
1. Klicken Sie zurück zum Prometheus-Dashboard auf das Menü „Status ' und wählen Sie 'Ziele aus '.
Sie werden zwei verschiedene Endpunkte sehen, den 'prometheus ' und 'node_exporter_metrics '.
2. Wechseln Sie als nächstes zum Menü 'Grafik ' und geben Sie die PromQL-Abfrage in die Suchleiste ein. Überprüfen Sie für dieses Beispiel das detaillierte Betriebssystem mit der Abfrage 'node_os_info '.
Und Sie sehen detaillierte Informationen über Ihr aktuelles Betriebssystem.
3. Ein weiteres Beispiel:Überprüfen Sie die Netzwerkgeschwindigkeiten mit der Abfrage „node_network_speed_bytes“. ' und wechseln Sie dann zum Tab 'Grafik '. Und Sie werden eine ähnliche Ausgabe wie unten sehen.
Jetzt haben Sie Prometheus und den Node-Exporter erfolgreich auf dem Rocky Linux-System installiert.
Schlussfolgerung
Herzliche Glückwünsche! Sie haben die grundlegende Installation und Konfiguration des Prometheus-Überwachungssystems und des Node-Exporters auf dem Rocky Linux-System gelernt.
Im nächsten Schritt können Sie einen anderen Prometheus-Exporter für andere Anwendungen und Grafana als Überwachungs-Dashboard erkunden.