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

So installieren Sie Prometheus unter CentOS 8 / RHEL 8

Prometheus ist ein Open-Source-Überwachungs-, Abfrage- und Warntool. Das funktionsreiche Tool, das ursprünglich 2012 von Soundcloud entwickelt wurde, wurde von mehreren Unternehmen übernommen, um ihre IT-Infrastruktur zu überwachen und sicherzustellen, dass alle Systeme reibungslos laufen. Prometheus ermöglicht es Ihnen, Zeitreihenmetriken wie CPU- und Speicherauslastung über das HTTP-Protokoll abzufragen und abzurufen und visualisieren Sie sie in Echtzeit-Grafiken. Sie können Prometheus auch so konfigurieren, dass im Falle eines Knoten- oder Dienstausfalls Warnungen gesendet werden, und es mit anderen Überwachungstools von Drittanbietern wie Grafana integrieren für verbesserte Datenvisualisierung. In diesem Leitfaden betrachten wir die Installation von Prometheus auf dem CentOS 8 /RHEL 8-System.

Schritt 1) ​​Erstellen eines Prometheus-Benutzers und einer Prometheus-Gruppe

Zunächst erstellen wir einen Systembenutzer für Prometheus. Führen Sie dazu den folgenden Befehl aus.

[[email protected] ~]# useradd -m -s /bin/false prometheus[[email protected] ~]# id prometheusuid=1002(prometheus) gid=1002(prometheus) groups=1002(prometheus)[[ E-Mail-geschützt] ~]#

Wie Sie vielleicht bemerkt haben, hat der Systembenutzer keine Anmeldeberechtigungen, wie in der Option /bin/false angegeben

Schritt 2) Konfigurationsverzeichnisse für Prometheus erstellen

Sobald der Benutzer für Prometheus erstellt wurde, erstellen wir Konfigurationsverzeichnisse in den Verzeichnissen /etc und /var, in denen Prometheus-Konfigurationsdateien und -daten gespeichert werden. Führen Sie also die folgenden Befehle aus:

[[email protected] ~]# mkdir /etc/prometheus[[email protected] ~]# mkdir /var/lib/prometheus

Setzen Sie den Besitz auf /var/lib/prometheus

[[email protected] ~]# chown prometheus /var/lib/prometheus/

Schritt 3) Prometheus-Tar-Datei herunterladen

Nachdem die Verzeichnisse vorhanden sind, können wir jetzt Prometheus herunterladen. Um die neueste Version zu erhalten, gehen Sie zur Download-Seite, um die neueste Version für Ihre Umgebung zu erhalten. Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version v 2.14.0. Alternativ führen Sie einfach den folgenden Befehl aus

[[email protected] ~]# dnf install wget -y[[email protected] ~]# wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0 .linux-amd64.tar.gz -P /tmp

Sobald der Download abgeschlossen ist, extrahieren Sie die Tarball-Datei wie gezeigt

[[email protected] tmp]# tar -zxpvf prometheus-2.14.0.linux-amd64.tar.gz

Dadurch erhalten Sie ein Verzeichnis namens prometheus-2.14.0.linux-amd64

Verwenden Sie den Baumbefehl, um die Verzeichnisstruktur anzuzeigen,

Das extrahierte Verzeichnis enthält 2 Binärdateien Prometheus &Promtool, die wir in den Pfad /usr/local/bin kopieren müssen.

Navigieren Sie also zum extrahierten Verzeichnis und kopieren Sie sie mit dem Befehl:

[[email protected] ~]# cd /tmp/prometheus-2.14.0.linux-amd64[[email protected] prometheus-2.14.0.linux-amd64]# cp prometheus  /usr/local/bin 

Verfahren Sie ebenso mit der anderen Binärdatei

[[email protected] prometheus-2.14.0.linux-amd64]# cp promtool  /usr/local/bin

Schritt 4) Erstellen einer Konfigurationsdatei für Prometheus

Um mit der Konfiguration zu beginnen, erstellen Sie eine Datei /etc/prometheus/prometheus.yml und fügen Sie die Konfiguration in die Datei

ein
[[email protected] ~]# vi /etc/prometheus/prometheus.yml# Global configglobal:  scrape_interval:     15s # Stellen Sie das Scrape-Intervall auf alle 15 Sekunden ein. Standard ist alle 1 Minute. Evaluation_interval:15s # Regeln alle 15 Sekunden auswerten. Der Standardwert ist alle 1 Minute. scrape_timeout:15s  # scrape_timeout ist auf den globalen Standardwert (10s) eingestellt.# Eine Scrape-Konfiguration, die genau einen Endpunkt zum Scrapen enthält:# Hier ist es Prometheus selbst.scrape_configs:  # Der Jobname wird als Label `job=` hinzugefügt zu jeder Zeitreihe, die von dieser Konfiguration geschabt wurde. - job_name:'prometheus'    # metrics_path ist standardmäßig '/metrics'    # scheme ist standardmäßig 'http'. static_configs:    - Ziele:['localhost:9090']

Dadurch wird nur Ihr lokales System überwacht (Prometheus-Server).

Passen Sie als Nächstes die Firewall wie folgt an, um externe Verbindungen zum Server über Port 9090

zuzulassen
[[email protected] ~]# firewall-cmd --add-port=9090/tcp --permanentsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]# 

Schritt 5) Erstellen einer Systemd-Dienstdatei für Prometheus-Server

Damit wir Prometheus als Dienst mit systemd verwalten können, müssen wir eine Systemdatei dafür erstellen. Erstellen Sie also die Datei wie gezeigt und fügen Sie den Inhalt ein,

[[email protected] ~]# vi /etc/systemd/system/prometheus.service[Unit]Description=Prometheus-Zeitreihenerfassung und -verarbeitung ServerWants=network-online.targetAfter=network-online.target[Service]User =prometheusGroup=prometheusType=simpleExecStart=/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

Damit die Änderungen wirksam werden, laden Sie systemctl neu,

[[email protected] ~]# systemctl daemon-reload

Starten Sie nun Prometheus und lassen Sie es beim Booten laufen

[[email protected] ~]# systemctl start prometheus[[email protected] ~]# systemctl enable prometheus

Um sicherzugehen, dass Prometheus ausgeführt wird, führen Sie den folgenden Befehl aus:

[[email protected] ~]# systemctl status prometheus

Aus der angezeigten Ausgabe können wir deutlich erkennen, dass Prometheus wie erwartet ohne Fehler ausgeführt wird. Außerdem können Sie das Dienstprogramm netstat verwenden, um zu überprüfen, ob der Dienst Port 9090 abhört.

[[email protected] ~]# netstat -tunlp

Das ist großartig! Prometheus läuft wie erwartet auf Port 9090. Gehen Sie jetzt zu Ihrem Browser und durchsuchen Sie die IP Ihres Servers wie gezeigt

http://server-ip:9090

Klicken Sie auf „Status“. “ und klicken Sie dann auf „Ziele

Ihr System wird wie abgebildet angezeigt

Schritt 6) Installieren und konfigurieren Sie node_exporter

Knoten-Exporter ist ein Dienstprogramm, das eine Vielzahl von Linux-Systemmetriken wie CPU, Speichernutzung, Dateisysteme und Netzwerkstatistiken sammelt und versendet. In diesem Abschnitt installieren wir node_exporter auf dem Prometheus-Server und auf einem entfernten CentOS 8-Linux-Host und überwachen die Systemmetriken auf den beiden Hosts.

Auf dem Prometheus-Knoten erstellen wir einen Systembenutzer für node_exporter.

[[email protected] ~]# useradd -m -s /bin/false node_exporter

Gehen Sie als Nächstes zur Download-Seite von Prometheus und laden Sie den node_exporter-Tarball herunter oder verwenden Sie den unten stehenden wget-Befehl, um ihn von der Befehlszeile herunterzuladen,

[[email protected] ~]# wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz

Fahren Sie nach dem Herunterladen der node_exporter-Datei fort und extrahieren Sie sie wie gezeigt

[[email protected] ~]# tar -zxpvf node_exporter-0.18.1.linux-amd64.tar.gz

Sie können den Inhalt des extrahierten Ordners mit dem Baumbefehl wie gezeigt überprüfen

[[email protected] ~]# tree node_exporter-0.18.1.linux-amd64

Kopieren Sie als Nächstes die Binärdatei mit dem Namen node_exporter nach /usr/local/bin path

[[email protected] ~]# cp node_exporter-0.18.1.linux-amd64/node_exporter /usr/local/bin

Legen Sie als Nächstes die Dateiberechtigungen der kopierten node_exporter-Datei wie gezeigt fest

[[email protected] ~]# chown node_exporter:node_exporter /usr/local/bin/node_exporter

Als nächstes müssen wir node_exporter so konfigurieren, dass es als Dienst ausgeführt wird. Fahren Sie also fort und erstellen Sie eine systemd-Dienstdatei wie gezeigt

[[email protected] ~]# vi /etc/systemd/system/node_exporter.service

Fügen Sie dann die unten gezeigte Konfiguration ein und speichern Sie die Datei

[Unit]Description=Prometheus-Knoten ExporterWants=network-online.targetAfter=network-online.target[Service]User=node_exporterGroup=node_exporterType=simpleExecStart=/usr/local/bin/node_exporter[Install]WantedBy=multi-user .Ziel

Damit die Änderungen wirksam werden, laden Sie systemd manager mit dem Befehl neu:

[[email protected] ~]# systemctl daemon-reload

Als nächstes starten und aktivieren Sie den node_exporter-Dienst

[[email protected] ~]# systemctl start node_exporter[[email protected] ~]# systemctl enable node_exporter

Um sicherzugehen, dass der Dienst läuft, führen Sie Folgendes aus:

[[email protected] ~]# systemctl status node_exporter

Um sicherzustellen, dass der Dienst ausgeführt wird, verwenden Sie das netstat-Dienstprogramm, um zu überprüfen, ob Port 9100 wie standardmäßig erwartet überwacht wird.

[[email protected] ~]# netstat -pnltu | grep 9100tcp6       0      0 :::9100       :::*          LISTEN      3472/node_exporter[[email protected] ~]#

Perfekt! Der Node_exporter-Dienst läuft wie erwartet.

Öffnen Sie als Nächstes Port 9100 in der Firewall wie gezeigt

[[email protected] ~]# firewall-cmd --add-port=9100/tcp  --permanentsuccess[[email protected] ~]# firewall-cmd --reloadsuccess[[email protected] ~]# 

Wiederholen Sie die beschriebenen Schritte auch für das entfernte CentOS 8-Linux-System.

Schließlich müssen Sie das Ziel node_exporter zur Datei prometheus.yml hinzufügen. Hängen Sie die folgenden Zeilen an, um node_exporter für den Prometheus-Server zu definieren

[[email protected] ~]# vi /etc/prometheus/prometheus.yml--------- - job_name:'node_exporter'   static_configs:  - Ziele:['localhost:9100']

Starten Sie den Prometheus-Dienst neu

[[email protected] ~]# systemctl startet Prometheus neu

Gehen Sie noch einmal zu Ihrem Browser und klicken Sie auf "Status". “ und klicken Sie auf „Ziele

Beachten Sie unbedingt einen neuen Endpunkt im Browser namens node_exporter für den Prometheus-Server

So fügen Sie einen Endpunkt für das Remote-Linux-System hinzu Gehen Sie zurück zur prometheus.yml Datei und fügen Sie die folgende Zeile an

– Ziele:[‘192.168.10.90:9100’]

Der Abschnitt node_exporter sollte nun so aussehen

 - job_name:'node_exporter'   static_configs:  - Ziele:['localhost:9100']   - Ziele:['192.168.10.90:9100']

Speichern Sie die Änderungen und starten Sie den Prometheus-Dienst neu

[[email protected] ~]# systemctl startet Prometheus neu

Aktualisieren Sie den Browser und beachten Sie den zweiten Endpunkt, der für das entfernte CentOS-Linux-System hinzugefügt wurde

Um sicherzustellen, dass Sie Metriken von Ihren konfigurierten Knoten erhalten. Verwenden Sie einfach den Curl-Befehl wie folgt:

# curl http://node-ip:9100/metrics

Um beispielsweise Metriken vom Prometheus-Server anzuzeigen, führen Sie Folgendes aus:

[[email protected] ~]# curl http://localhost:9100/metrics

Für den entfernten CentOS 8-Host habe ich den Befehl ausgeführt:

[[email protected] ~]# curl http://192.168.10.90:9100/metrics

Dies kann auch erreicht werden, indem Sie einen Browser öffnen und die URL durchsuchen

http://192.168.10.90:9100/metrics

Sie können die gewünschten Metriken auch grafisch darstellen. Rufen Sie einfach die Startseite des Prometheus-Servers auf und klicken Sie auf das Dropdown-Menü mit der Bezeichnung „Metrik am Cursor einfügen“. ’.

Wählen Sie die Metrik aus, die Sie grafisch darstellen möchten,

Klicken Sie auf „Ausführen“. “ und klicken Sie auf die „Grafik ’-Tab direkt darunter, um das Diagramm anzuzeigen

Und damit sind wir am Ende dieses Themas angelangt. Sie haben Prometheus erfolgreich installiert und konfiguriert, um Systemmetriken sowohl auf Ihrem Server als auch auf Ihrem Remote-Host zu überwachen. In unserem nächsten Leitfaden werden wir Prometheus mit Grafana integrieren, um Metriken besser visualisieren und analysieren zu können. Fühlen Sie sich frei, Ihr Feedback mit uns zu teilen und teilen Sie den Artikel mit einem Freund.


Cent OS
  1. So installieren Sie phpMyAdmin auf RHEL 8 / CentOS 8

  2. So installieren Sie P7Zip auf RHEL 8 / CentOS 8

  3. So installieren Sie ntfs-3g auf RHEL 8 / CentOS 8

  4. So installieren Sie PHP-mbstring auf RHEL 8 / CentOS 8

  5. So installieren Sie Phantomjs auf RHEL 8 / CentOS 8

So installieren Sie Docker CE auf RHEL 8 / CentOS 8

So installieren Sie Katello unter CentOS 7.x

So installieren Sie VirtualBox 5.1 unter CentOS 7 / RHEL 7 / Fedora 26

So installieren Sie Docker CE auf CentOS 8 / RHEL 8

So installieren Sie VirtualBox 6.0 unter CentOS 8 / RHEL 8

So installieren Sie Prometheus unter CentOS 8