So installieren Sie Prometheus und node_exporter auf CentOS 7
Prometheus ist ein Open-Source-Monitoring-System, mit dem Sie Metriken von jedem konfigurierten Zielsystem sammeln können. Prometheus implementiert ein multidimensionales Datenmodell mit leistungsstarken Abfragen, hervorragender Visualisierung, präziser Alarmierung und vielen Integrationen.
Prometheus wurde ursprünglich 2012 von SoundCloud ins Leben gerufen, ist aber mittlerweile zu einem unabhängigen Open-Source-Projekt geworden, das von der Open-Source-Community unabhängig gepflegt wird – alle Komponenten sind unter der Apache 2-Lizenz auf Github verfügbar.
In diesem Tutorial zeige ich Ihnen, wie Sie Prometheus und den node_exporter installieren und konfigurieren. Wir werden das Prometheus-Überwachungssystem installieren und dann den node_exporter konfigurieren, um Metriken vom Server zu sammeln. Wir werden den CentOS 7-Server für dieses Tutorial verwenden.
Voraussetzungen
- CentOS 7 Server
- Root-Rechte
Was werden wir tun?
- Erstelle einen neuen Benutzer und lade Prometheus herunter.
- Prometheus als Systemdienst konfigurieren
- Firewalldatei konfigurieren
- Installation und Konfiguration von node_exporter
- node_exporter zum Prometheus-Server hinzufügen
- Prüfung
Schritt 1 – Erstellen Sie einen neuen Benutzer und laden Sie Prometheus herunter.
In diesem Tutorial wird der Prometheus-Dienst als Nicht-Root-Benutzer ausgeführt. Daher müssen wir einen neuen Nicht-Root-Benutzer auf dem System anlegen. Wir werden einen neuen Benutzer namens „prometheus“ anlegen, und alle prometheus-Dienste werden unter dem prometheus-Benutzer laufen.
Erstellen Sie einen neuen ‚prometheus‘ Benutzer mit dem folgenden Befehl.
useradd -m -s /bin/bash prometheus
Ein neuer Benutzer wurde angelegt. Melden Sie sich nun beim Benutzer an und laden Sie Prometheus mit dem Befehl wget herunter.
su - prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.2.1/prometheus-2.2.1.linux-amd64.tar.gz
Entpacken Sie die Datei prometheus-xx.x.x.x.tar.gz und benennen Sie das Verzeichnis in’prometheus‘ um.
tar -xzvf prometheus-2.2.1.linux-amd64.tar.gz mv prometheus-2.2.1.linux-amd64/ prometheus/
Prometheus wird auf den Server heruntergeladen, und alle Prometheus-Dateien befinden sich im Verzeichnis’/home/prometheus/prometheus‘.
Schritt 2 – Prometheus als Systemdienst konfigurieren
In diesem Schritt werden wir prometheus als systematischen Dienst konfigurieren. Wir werden eine neue Servicedatei prometheus.service im Verzeichnis’/etc/systemd/system‘ erstellen.
Gehen Sie in das Verzeichnis’/etc/systemd/system/system/‘ und erstellen Sie mit dem vim editor eine neue Servicedatei’prometheus.service‘.
cd /etc/systemd/system/ vim prometheus.service
Fügen Sie die untenstehende prometheus-Dienstkonfiguration ein.
[Unit] Description=Prometheus Server Documentation=https://prometheus.io/docs/introduction/overview/ After=network-online.target
[Service]
User=prometheus
Restart=on-failure
#Change this line if you download the
#Prometheus on different path user
ExecStart=/home/prometheus/prometheus/prometheus \
–config.file=/home/prometheus/prometheus/prometheus.yml \
–storage.tsdb.path=/home/prometheus/prometheus/data
[Install]
WantedBy=multi-user.target
Speichern und beenden.
Laden Sie nun das System neu mit dem Befehl systemctl unten.
systemctl daemon-reload
Starten Sie den prometheus-Dienst und ermöglichen Sie ihm, ihn jederzeit beim Systemstart zu starten.
systemctl start prometheus systemctl enable prometheus
Der prometheus läuft nun als Systemdienst, überprüfen Sie ihn mit dem folgenden Befehl.
systemctl status prometheus
Stellen Sie sicher, dass Sie den Dienststatus „Running“ erhalten.
Oder überprüfen Sie es mit dem Befehl netstat unten.
netstat -plntu
Stellen Sie sicher, dass Sie das Ergebnis wie unten gezeigt erhalten.
Prometheus läuft standardmäßig unter dem Port’9090′.
Schritt 3 – Firewalldaten konfigurieren
Wenn Sie Firewalld auf Ihrem System verwenden, fügen Sie den Port 9090 zu den Firewalld-Listenports hinzu.
Öffnen Sie den Port 9090 für den Zugriff auf Prometheus mit den folgenden Befehlen der Firewall-cmd.
firewall-cmd --add-port=9090/tcp --permanent firewall-cmd --reload
Öffnen Sie nun Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port 9090 ein.
http://192.168.33.10:9090/graph
Geben Sie’http_requests_total‘ in das Suchfeld ein und klicken Sie auf die Schaltfläche’Execute‘.
Und Sie sehen HTTP-Anfragen an den Prometheus-Server mit allen Informationen über die Zeit, den HTTP-Statuscode, die Methode usw.
Schritt 4 – Installation und Konfiguration von node_exporter
node_exporter ist ein Exporteur von Maschinenmetriken, die auf *Nix- und Linux-Systemen ausgeführt werden können.
In diesem Tutorial werden wir den node_exporter auf dem gleichen Server wie prometheus installieren. Wir werden die Metrik des Prometheus-Servers überwachen und erhalten.
Melden Sie sich beim prometheus-Benutzer an und laden Sie den’node_exporter‘ mit dem Befehl wget herunter.
su - prometheus wget https://github.com/prometheus/node_exporter/releases/download/v0.16.0-rc.1/node_exporter-0.16.0-rc.1.linux-amd64.tar.gz
Entpacken Sie den node_exporter und benennen Sie das Verzeichnis in node_exporter um.
tar -xzvf node_exporter-0.16.0-rc.1.linux-amd64.tar.gz mv node_exporter-0.16.0-rc.1.linux-amd64 node_exporter
Als nächstes erstellen wir eine neue Servicedatei für den node_exporter. Zurück zur Root-Shell, gehen Sie in das Verzeichnis ‚/etc/systemd/system‘ und erstellen Sie eine neue node_exporter Servicedatei ’node_exporter.service‘ mit vim.
cd /etc/systemd/system/ vim node_exporter.service
Dort fügen Sie die Dienstkonfiguration node_exporter unten ein.
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target
[Service]
User=prometheus
ExecStart=/home/prometheus/node_exporter/node_exporter
[Install]
WantedBy=default.target
Speichern und beenden.
Laden Sie nun das System neu.
systemctl daemon-reload
Starten Sie dann den Dienst node_exporter und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.
systemctl start node_exporter systemctl enable node_exporter
Der Dienst node_exporter läuft nun auf dem Server – überprüfen Sie ihn mit dem Befehl netstat.
netstat -plntu
Und Sie erhalten den Node-Exporter, der auf Port 9100 läuft.
Schritt 5 – node_exporter zum Prometheus-Server hinzufügen
In diesem Schritt werden wir den node_exporter zum prometheus-Server hinzufügen. Melden Sie sich beim prometheus-Benutzer an und bearbeiten Sie die Konfigurationsdatei’prometheus.yml‘.
Melden Sie sich beim prometheus-Benutzer an.
su - prometheus
Gehen Sie in das Verzeichnis’prometheus‘ und bearbeiten Sie die Konfigurationsdatei’prometheus.yml‘.
cd prometheus/ vim prometheus.yml
Fügen Sie unter der Zeile’scrape_config‘ einen neuen Job_name node_exporter hinzu, indem Sie die untenstehende Konfiguration kopieren und einfügen.
- job_name: 'node_exporter' static_configs: - targets: ['localhost:9100']
Speichern und beenden.
Starten Sie nun den prometheus-Dienst neu.
systemctl restart prometheus
Der node_exporter wurde dem prometheus-Server hinzugefügt.
Schritt 6 – Prometheus und node_exporter testen
Öffnen Sie Ihren Webbrowser und geben Sie dann die IP-Adresse des Servers ein.
http://192.168.33.10:9090/
Geben Sie den meminfo collector ein ‚node_memory_Memory_MemAvailable_bytesim Suchfeld und klicken Sie auf die Schaltfläche „Ausführen“.
Und Sie erhalten das Ergebnis wie unten beschrieben.
Sie erhalten den verfügbaren Speicher auf der Serverinstanz’localhost:9100′ und den Jobnamen’node-exporter‘.
Oder wenn Sie auf die Rohdaten des node_exporter zugreifen möchten, müssen Sie den node_exporter-Port 9100 zur Firewall hinzufügen.
firewall-cmd --add-port=9100/tcp firewall-cmd --reload
Und geben Sie dann die Server-IP-Adresse mit Port 9100 ein.
http://192.168.33.10:9100/metrics
Und Sie erhalten die Rohdaten des node_exporter wie unten gezeigt.
Die Installation und Konfiguration des prometheus-Monitoringsystems mit dem node_exporter auf CentOS 7 wurde erfolgreich abgeschlossen.