GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie das Prometheus-Systemüberwachungstool unter Debian 11

Prometheus ist eine kostenlose, webbasierte Open-Source-Überwachungsanwendung, die Metriken von Ihren Diensten sammelt und sie in einer Zeitreihendatenbank speichert. Die Prometheus-Standardkonfiguration exportiert nur Metriken über sich selbst. Sie können es jedoch erweitern, indem Sie Exportprogramme und andere Programme installieren. Es unterstützt ein mehrdimensionales Datenmodell, mehrere Modi der grafischen Darstellung und Dashboarding.

In diesem Beitrag zeigen wir Ihnen, wie Sie die Prometheus-Überwachung unter Debian 11 installieren.

Voraussetzungen

  • Ein Server mit Debian 11.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Installieren Sie Prometheus

Bevor Sie beginnen, wird empfohlen, einen dedizierten Benutzer und eine Gruppe für Prometheus zu erstellen. Sie können es mit dem folgenden Befehl erstellen:

groupadd --system prometheus
useradd -s /sbin/nologin --system -g prometheus prometheus

Laden Sie als Nächstes die neueste Version von Prometheus herunter, indem Sie den folgenden Befehl ausführen:

curl -s https://api.github.com/repos/prometheus/prometheus/releases/latest|grep browser_download_url|grep linux-amd64|cut -d '"' -f 4|wget -qi - 

Sobald Prometheus heruntergeladen ist, können Sie die heruntergeladene Datei mit dem folgenden Befehl anzeigen:

ls -l

Sie sollten die folgende Ausgabe sehen:

-rw-r--r-- 1 root root 72638078 5. Okt. 16:46 prometheus-2.30.3.linux-amd64.tar.gz

Extrahieren Sie als Nächstes die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvf prometheus*.tar.gz

Als nächstes ändern Sie das Verzeichnis mit dem folgenden Befehl in das extrahierte Verzeichnis:

CD Prometheus-2.30.3.linux-amd64

Erstellen Sie als Nächstes einige erforderliche Verzeichnisse mit dem folgenden Befehl:

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

Kopieren Sie als Nächstes die erforderlichen Konfigurationsdateien und Tools mit den folgenden Befehlen:

mv prometheus.yml /etc/prometheus/prometheus.yml
mv consoles/ console_libraries/ /etc/prometheus/
mv prometheus promtool /usr/local/bin/

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Erstellen Sie eine Systemd-Dienstdatei für Prometheus

Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den Prometheus-Dienst zu verwalten. Sie können es erstellen, indem Sie den folgenden Befehl ausführen:

nano /etc/systemd/system/prometheus.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=PrometheusDocumentation=https://prometheus.io/docs/introduction/overview/Wants=network-online.targetAfter=network-online.target[Service]Type=simpleUser=prometheusGroup=prometheusExecReload=/bin /kill -HUP $MAINPIDExecStart=/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 \ --web.listen-address=0.0.0.0:9090 \ --web.external-url=SyslogIdentifier=prometheusRestart=always[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei und legen Sie dann die ordnungsgemäße Eigentümerschaft und Berechtigung für das Prometheus-Konfigurationsverzeichnis fest:

chown -R prometheus:prometheus /etc/prometheus/
chmod -R 775 /etc/prometheus/
chown -R prometheus:prometheus /var/lib/prometheus/

Als nächstes laden Sie den systemd-Daemon neu, um die Änderungen zu übernehmen:

systemctl daemon-reload

Starten Sie als Nächstes den Prometheus-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start prometheus
systemctl enable prometheus

Sie können den Status des Prometheus mit dem folgenden Befehl überprüfen:

Systemctl-Status-Prometheus

Sie erhalten die folgende Ausgabe:

? prometheus.service - Prometheus Geladen:geladen (/etc/systemd/system/prometheus.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 2021-10-16 14:06:39 UTC; Vor 4s Dokumente:https://prometheus.io/docs/introduction/overview/ Main PID:18415 (prometheus) Tasks:5 (limit:2341) Memory:19.6M CPU:79ms CGroup:/system.slice/prometheus.service ??18415 /usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.cons>16. Oktober 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z caller=head.go:513 component=tsdb msg="On-disk memory mappa>16. Okt 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.172Z caller=head.go:519 component=tsdb msg="Wiedergabe von WAL, dies> 16. Oktober 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.174Z caller=head.go:590 component=tsdb msg="WAL-Segment geladen"> 16. Okt 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.174Z caller=head.go:596 component=tsdb msg="WAL-Wiedergabe abgeschlossen> 16. Oktober 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10 -16T14:06:39. 177Z caller=main.go:849 fs_type=EXT4_SUPER_MAGICOct 16 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.177Z caller=main.go:852 ​​msg="TSDB gestartet "16. Oktober 14:06:39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:979 msg="Loading configuration file" filename>16. Oktober 14:06 :39 debian11 prometheus[18415]:level=info ts=2021-10-16T14:06:39.178Z caller=main.go:1016 msg="Laden der Konfiguration abgeschlossen> 16. Oktober 14:06:39 debian11 prometheus[18415] :level=info ts=2021-10-16T14:06:39.179Z caller=main.go:794 msg="Server ist bereit, Webanforderungen zu empfangen ts=2021-10-16T14:06:39.179Z caller=tls_config.go:191 component=web msg="TLS ist deaktiviert>

Standardmäßig lauscht Prometheus auf Port 9090. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep 9090

Sie sollten die folgende Ausgabe sehen:

LISTEN 0 4096 *:9090 *:* Benutzer:(("prometheus",pid=18415,fd=7))

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Konfigurieren Sie Nginx als Reverse-Proxy für Prometheus

Als nächstes wird empfohlen, Nginx als Reverse-Proxy für Prometheus zu installieren und zu konfigurieren. Installieren Sie zunächst das Nginx-Webserverpaket mit dem folgenden Befehl:

apt-get install nginx -y

Sobald Nginx installiert ist, erstellen Sie mit dem folgenden Befehl eine Konfigurationsdatei für den virtuellen Nginx-Host:

nano /etc/nginx/conf.d/prometheus.conf

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80; Servername prometheus.example.com; Standort / { Proxy_Pass http://localhost:9090; Proxy_http_Version 1.1; Proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung 'upgrade'; Proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}

Speichern und schließen Sie die Datei und überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Wenn alles in Ordnung ist, erhalten Sie die folgende Ausgabe:

nginx:Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet nginx neu

Sie können den Status des Nginx-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service - Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server Geladen:geladen (/lib/systemd/system/nginx.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 16.10.2021 14 :08:15 UTC; vor 2s Dokumente:man:nginx(8) Prozess:18792 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process an; (code=beendet, status=0/SUCCESS) Prozess:18793 ExecStart=/usr/sbin/nginx -g daemon on; master_process an; (code=exited, status=0/SUCCESS) Main PID:18794 (nginx) Tasks:2 (limit:2341) Memory:2.5M CPU:35ms CGroup:/system.slice/nginx.service ??18794 nginx:master process /usr/sbin/nginx -g Daemon an; master_process an; ??18795 nginx:worker processOkt 16 14:08:15 debian11 systemd[1]:Starten eines Hochleistungs-Webservers und eines Reverse-Proxy-Servers ... 16. Okt 14:08:15 debian11 systemd[1]:nginx.service:Fehler beim Analysieren der PID aus der Datei /run/nginx.pid:Ungültiges Argument 16. Oktober 14:08:15 debian11 systemd[1]:Gestartet Ein Hochleistungs-Webserver und ein Reverse-Proxy-Server.

An diesem Punkt ist Nginx installiert und konfiguriert, um Prometheus zu bedienen. Sie können jetzt mit dem nächsten Schritt fortfahren.

Zugriff auf das Prometheus-Dashboard

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL http://prometheus.example.com auf das Prometheus-Dashboard zu . Sie sollten die folgende Seite sehen:

node_exporter installieren und konfigurieren

node_exporter ist ein Exportprogramm, das die Metrik des Prometheus-Servers überwacht und erhält. Laden Sie zunächst die neueste Version von node_exporter mit dem folgenden Befehl herunter:

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

tar -xvzf node_exporter-1.2.2.linux-amd64.tar.gz

Als nächstes verschieben Sie das extrahierte Verzeichnis in das Verzeichnis /etc/prometheus/:

mv node_exporter-1.2.2.linux-amd64 /etc/prometheus/node_exporter

Legen Sie als Nächstes den richtigen Besitz mit dem folgenden Befehl fest:

chown -R prometheus:prometheus /etc/prometheus/node_exporter

Erstellen Sie als Nächstes eine systemd-Dienstdatei, um den node_exporter-Dienst zu verwalten:

nano /etc/systemd/system/node_exporter.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=Node ExporterWants=network-online.targetAfter=network-online.target[Service]User=prometheusExecStart=/etc/prometheus/node_exporter/node_exporter[Install]WantedBy=default.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon neu, um die Änderungen zu übernehmen:

systemctl daemon-reload

Starten Sie als Nächstes den Dienst node_exporter und aktivieren Sie ihn so, dass er beim Systemneustart gestartet wird:

systemctl start node_exporter
systemctl enable node_exporter

Sie können den Status des node_exporter mit dem folgenden Befehl überprüfen:

systemctl status node_exporter

Sie erhalten die folgende Ausgabe:

? node_exporter.service - Node Exporter Geladen:geladen (/etc/systemd/system/node_exporter.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit So. 2021-10-17 05:38:20 UTC; Vor 4s Haupt-PID:513 (node_exporter) Tasks:4 (limit:2341) Speicher:4,7 MB CPU:11 ms CGroup:/system.slice/node_exporter.service ??513 /etc/prometheus/node_exporter/node_exporter17. Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=thermal_zoneOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021 -10-17T05:38:20.382Z caller=node_exporter.go:115 collector=timeOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter. go:115 collect=timexOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=udp_queuesOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=unameOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10 -17T05:38:20.382Z caller=node_exporter.go:115 collect=vmstat17. Oktober 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.382Z caller=node_exporter.go:115 collect=xfsOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021- 10-17T05:38:20.382Z caller=node_exporter.go:115 collecter=zfsOct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.383Z caller=node_exporter.go :199 msg="Listening on" address=:91>Oct 17 05:38:20 debian11 node_exporter[513]:level=info ts=2021-10-17T05:38:20.383Z caller=tls_config.go:191 msg="TLS ist deaktiviert." http2=false

Standardmäßig lauscht node_exporter auf Port 9100. Sie können dies mit dem folgenden Befehl überprüfen:

ss -antpl | grep 9100

Sie sollten die folgende Ausgabe erhalten:

LISTEN 0 4096 *:9100 *:* Benutzer:(("node_exporter",pid=513,fd=3))

Fügen Sie node_exporter zum Prometheus-Server hinzu

Als nächstes müssen Sie den node_exporter zur Prometheus-Konfigurationsdatei hinzufügen. Sie können dies tun, indem Sie die Prometheus-Standardkonfigurationsdatei bearbeiten:

nano /etc/prometheus/prometheus.yml

Unter der 'scrape_config ' Zeile neuen job_name hinzufügen node_exporter durch Hinzufügen der folgenden Zeilen.

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

Speichern und schließen Sie die Datei und starten Sie dann den Prometheus-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet Prometheus neu

Verifiziere Prometheus und node_exporter

Gehen Sie nun zum Prometheus-Dashboard und klicken Sie auf Status => Target . Sie sollten Ihren node_exporter auf dem folgenden Bildschirm sehen:

Gehen Sie jetzt zurück zur Prometheus-Homepage und geben Sie node_memory_MemAvailable_bytes ein in das Abfragefeld und klicken Sie auf 'Ausführen ' Taste. Sie erhalten das folgende Ergebnis:

Sie können auch den node_exporter erhalten Metrikdaten über die URL http://your-server-ip:9100/metrics wie unten gezeigt:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben Prometheus erfolgreich mit node_exporter auf Debian 11 installiert. Wenn Sie Fragen haben, können Sie mich gerne fragen. Weitere Informationen finden Sie in der offiziellen Prometheus-Dokumentation.


Debian
  1. So installieren Sie das Nagios 4.3.x-Überwachungstool unter Debian 9

  2. So installieren Sie das Icinga 2-Überwachungstool unter Debian 9.2

  3. So installieren Sie Nextcloud 15 auf Debian 9

  4. So installieren Sie das RethinkDB-Datenbanksystem unter Debian 10

  5. So installieren Sie osquery unter Debian 10

So installieren Sie das OpenNMS Horizon-Netzwerküberwachungssystem unter Debian 11

So installieren Sie das Grafana 8-Überwachungstool unter Debian 11

So installieren Sie Cacti unter Debian 10 / Debian 9 – Ein Überwachungstool

So installieren Sie das Prometheus-Überwachungstool unter Ubuntu 20.04

So installieren Sie Prometheus unter Debian 11

So installieren Sie das Zabbix-Überwachungstool unter Debian 11/10