GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie Prometheus und node_exporter unter CentOS 7

Prometheus ist ein Open-Source-Überwachungssystem, mit dem Sie Metriken von jedem konfigurierten Zielsystem sammeln können. Prometheus implementiert ein multidimensionales Datenmodell mit leistungsstarken Abfragen, großartiger Visualisierung, präzisen Benachrichtigungen und vielen Integrationen.

Prometheus wurde ursprünglich von SoundCloud im Jahr 2012 erstellt, ist jetzt aber zu einem unabhängigen Open-Source-Projekt geworden, das unabhängig von der Open-Source-Community 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. Für diese Anleitung verwenden wir den CentOS 7-Server.

Voraussetzungen

  • CentOS 7-Server
  • Root-Rechte

Was werden wir tun?

  1. Erstellen Sie einen neuen Benutzer und laden Sie Prometheus herunter
  2. Prometheus als Systemdienst konfigurieren
  3. Firewalld konfigurieren
  4. Installieren und konfigurieren Sie node_exporter
  5. Node_exporter zum Prometheus-Server hinzufügen
  6. Testen

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. Wir müssen also einen neuen Nicht-Root-Benutzer auf dem System erstellen. Wir erstellen einen neuen Benutzer namens „prometheus“, und alle Prometheus-Dienste werden unter dem Prometheus-Benutzer ausgeführt.

Erstellen Sie mit dem folgenden Befehl einen neuen Benutzer „prometheus“.

useradd -m -s /bin/bash prometheus

Ein neuer Benutzer wurde erstellt. Melden Sie sich jetzt 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

Extrahieren Sie die Datei prometheus-xx.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 Systemd-Dienst konfigurieren

In diesem Schritt konfigurieren wir Prometheus als Systemdienst. Wir werden eine neue Dienstdatei prometheus.service im Verzeichnis ‚/etc/systemd/system‘ erstellen.

Wechseln Sie in das Verzeichnis „/etc/systemd/system/“ und erstellen Sie mit dem vim Editor eine neue Dienstdatei „prometheus.service“.

cd /etc/systemd/system/
vim prometheus.service

Fügen Sie die Prometheus-Dienstkonfiguration unten 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 systemd-System mit dem folgenden systemctl-Befehl neu.

systemctl daemon-reload

Starten Sie den Prometheus-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start prometheus
systemctl enable prometheus

Der Prometheus läuft jetzt als systemd-Dienst, überprüfen Sie ihn mit dem folgenden Befehl.

systemctl status prometheus

Stellen Sie sicher, dass Sie den Dienststatus „Wird ausgeführt“ erhalten.

Oder überprüfen Sie es mit dem untenstehenden netstat-Befehl.

netstat -plntu

Stellen Sie sicher, dass Sie das unten gezeigte Ergebnis erhalten.

Prometheus läuft standardmäßig unter dem Port '9090'.

Schritt 3 - Konfigurieren Sie Firewalld

Wenn Sie Firewalld auf Ihrem System verwenden, fügen Sie den Port 9090 zu den Ports der Firewalld-Liste hinzu.

Öffnen Sie Port 9090 für den Prometheus-Zugriff mit den folgenden Firewall-cmd-Befehlen.

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 Abfragefeld ein und klicken Sie auf die Schaltfläche „Ausführen“.

Und Sie sehen HTTP-Anfragen an den Prometheus-Server mit allen Informationen über die Zeit, den HTTP-Statuscode und die Methode usw.

Schritt 4 - Installieren und konfigurieren Sie node_exporter

node_exporter ist ein Exportprogramm für Maschinenmetriken, das auf *Nix- und Linux-Systemen ausgeführt werden kann.

In diesem Tutorial installieren wir den node_exporter auf demselben Prometheus-Server. Wir werden die Metrik des Prometheus-Servers überwachen und abrufen.

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

Extrahieren 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. Gehen Sie zurück zur Root-Shell, gehen Sie in das Verzeichnis „/etc/systemd/system“ und erstellen Sie mit vim eine neue node_exporter-Dienstdatei „node_exporter.service“.

cd /etc/systemd/system/
vim node_exporter.service

Fügen Sie dort unten die node_exporter-Dienstkonfiguration 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 systemd-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 jetzt auf dem Server - überprüfen Sie ihn mit dem Befehl netstat.

netstat -plntu

Und Sie werden sehen, dass der Node-Exporter auf Port 9100 läuft.

Schritt 5 – node_exporter zum Prometheus-Server hinzufügen

In diesem Schritt fügen wir den node_exporter zum Prometheus-Server hinzu. Melden Sie sich beim Prometheus-Benutzer an und bearbeiten Sie die Konfigurationsdatei „prometheus.yml“.

Melden Sie sich beim Prometheus-Benutzer an.

su - prometheus

Wechseln 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“ den neuen job_name node_exporter hinzu, indem Sie die unten stehende 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 – Testen von Prometheus und node_exporter

Öffnen Sie Ihren Webbrowser und geben Sie dann die Server-IP-Adresse ein.

http://192.168.33.10:9090/

Geben Sie den Meminfo-Collector 'node_memory_MemAvailable_bytes ein ' in das Abfragefeld ein und klicken Sie auf die Schaltfläche 'Ausführen'.

Und Sie erhalten das Ergebnis wie folgt.

Sie erhalten den verfügbaren Speicher auf der Serverinstanz „localhost:9100“ und den Jobnamen „node-exporter“.

Oder wenn Sie auf die Rohdaten von 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

Geben Sie dann die Server-IP-Adresse mit Port 9100 ein.

http://192.168.33.10:9100/metrics

Und Sie erhalten die Rohdaten von node_exporter wie unten gezeigt.

Die Installation und Konfiguration des Prometheus-Überwachungssystems mit dem node_exporter auf CentOS 7 wurde erfolgreich abgeschlossen.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren Sie Hashicorp Vault auf CentOS 7

  3. So installieren Sie dig unter CentOS 7 und 8

  4. So installieren und konfigurieren Sie Fail2Ban unter CentOS 8 und Fedora 33

  5. So installieren Sie den NTP-Dienst und -Client in CentOS/RHEL 8

So installieren und konfigurieren Sie Prometheus unter CentOS 7

So installieren Sie Grafana unter CentOS 8

So installieren Sie Nagios Core und NRPE unter CentOS 8

So installieren Sie ClamAV unter CentOS 7

So installieren Sie Icinga 2 unter CentOS 7

So installieren Sie Prometheus unter CentOS 8