In diesem Tutorial installieren wir Prometheus auf einen Linux-Server mit Ubuntu 22.04 oder alternativ Debian 11. Prometheus ist eine Open-Source-Monitoring- und Alarmierungsplattform für die Überwachung von Microservices und Linux-basierten Hostsystemen. Prometheus verwendet für die Abfrage eine Sprache namens PromQL. Mithilfe dieser Abfragesprache werden Daten aus bestimmten Metriken abgerufen und über eine Weboberfläche zur Verfügung gestellt.
Nach der Installation von Prometheus stehen uns verschiedene Diagramme, Karten und Grafiken für die Datenvisualisierung in einem übersichtlichen Dashboard mit Ereignisüberwachungen zur Verfügung. Die Open-Source-Software hat im Vergleich zu Grafana oder InfluxDB den Vorteil, dass Prometheus sowohl Daten erfassen als auch selbstständig visualisieren kann (Generierungsprozess). Angesichts dessen zählt die Software weltweit zu einer der führenden Open-Source-Überwachungslösungen für Serverinfrastrukturen in Rechenzentren.
In welchen Bereichen wird die Software Prometheus eingesetzt?
Prometheus verarbeitet die Daten schnell, zuverlässig und effizient. Prometheus wird häufig in den Bereichen IT-Infrastruktur-Monitoring, Anwendungs-Monitoring und System-Monitoring eingesetzt. Die Monitoring-Plattform kann genutzt werden, um Metriken wie CPU-Auslastung, Speichernutzung, Netzwerkaktivität und Anfragen pro Sekunde in Anwendungen und Diensten zu überwachen. Prometheus ist auch gut geeignet für das Überwachen von Containern und Kubernetes-Clustern.
Das webbasierte Open-Source-Überwachungssystem wurde in der Programmiersprache Go geschrieben. Viele Organisationen verwenden Prometheus zusammen mit anderen Werkzeugen wie Grafana, um eine vollständige Überwachungslösung zu erhalten. Beginnen wir im nächsten Abschnitt mit den Vorbereitungen für die Installation von Prometheus.
Inhaltsverzeichnis: Installationsanleitung für das Open-Source-Überwachungssystem Prometheus (Linux)
Vorbereitung für die Installation von Prometheus unter Linux (Schritt 1.)
Wir beginnen in dieser Anleitung mit der Aktualisierung der Paketquellen. Stelle jetzt eine Verbindung zu deinem Terminal, z. B. über einen SSH-Client her. Melde dich am Linux-System an und führe die Aktualisierung durch.
Hinweis: Verwendest du Linux Ubuntu 22.04, kannst du für die Installation von Prometheus auf den Benutzer mit Root-Berechtigungen wechseln. Verwendest du nicht den Root-Benutzer, müssen alle Befehle mit dem sudo-Prompt ausgeführt werden, was auch nach jeder einzelnen Absendung die Eingabe des Passwortes erfordert. Für die Installation auf einem Debian 11-basierten Host können die Befehle direkt übernommen werden.
Auf den Benutzer „root“ wechseln:
sudo su root
Aktualisierungen durchführen:
apt update && apt upgrade -y
Sobald das System auf dem aktuellen Stand ist, können wir im nächsten Schritt mit der Erstellung einer Gruppe und den Benutzer für das Prometheus-System beginnen.
Eine Gruppe und einen Benutzer für Prometheus erstellen (Schritt 2.)
Wir erstellen eine Systemgruppe und einen Benutzer für das Prometheus-System. Um eine neue Gruppe unter Linux zu erstellen, kann der nachfolgende Befehl im Terminal ausgeführt werden.
Eine Systemgruppe für Prometheus erstellen:
groupadd --system prometheus
Prometheus-Benutzer anlegen und der Gruppe hinzufügen:
useradd -s /sbin/nologin --system -g prometheus prometheus
Ein primäres Verzeichnis für Prometheus implementieren (Schritt 3.)
Führe den folgenden Befehl aus, um ein Verzeichnis für Prometheus zu erstellen. In diesem Verzeichnis werden die Daten für die Konfiguration abgespeichert.
Verzeichnisse erstellen:
mkdir /etc/prometheus
mkdir /var/lib/prometheus
Prometheus-Installation für Linux: Herunterladen und extrahieren (Schritt 4.)
Rufe den folgenden Link auf, um die aktuelle Version von Prometheus für Linux herunterzuladen. Zum Zeitpunkt der Erstellung dieser Schritt-für-Schritt-Anleitung für die Prometheus-Installation ist die zuletzt veröffentlichte Versionsnummer 2.42.0.
Link für den Download: https://prometheus.io/download/
Führe einen Rechtsklick auf die Linux-Version (linux-amd64) aus und kopiere die Adresse des Links. Verwendet anschließend im Linux-Terminal den wget oder curl Befehl, um das Archiv auf dem Server herunterzuladen.
Download von Prometheus:
wget https://github.com/prometheus/prometheus/releases/download/v2.42.0/prometheus-2.42.0.linux-amd64.tar.gz
Sobald der Download erfolgreich abgeschlossen wurde, kann das Archiv entpackt werden. Verwende dafür am besten den tar-Befehl.
Prometheus extrahieren:
tar xvf prometheus*.tar.gz
Navigiere in das soeben entpackte Verzeichnis:
cd prometheus*/
Verschiebe die Binärdateien mit dem folgenden Befehl:
mv prometheus promtool /usr/local/bin/
Überprüfe mit dem folgenden Befehl, ob eine installierte Versionsnummer von Prometheus auf dem Hostsystem ausgegeben wird:
prometheus --version
Hat die Installation funktioniert? Dann sollte jetzt die Versionsnummer von Prometheus im Terminal ausgegeben werden. Als Nächstes muss die Konfigurationsvorlage und das Verzeichnis consoles mit den Bibliotheken verschoben werden.
Die Konfigurationsvorlage verschieben:
mv prometheus.yml /etc/prometheus/prometheus.yml
Verzeichnis mit den Konsolenbibliotheken verschieben:
mv consoles/ console_libraries/ /etc/prometheus/
cd $HOME
An diesem Punkt ist die Grundinstallation von Prometheus abgeschlossen. Im nächsten Schritt können wir eigene Konfigurationen über die Konfigurationsdatei vornehmen.
Prometheus nach der Installation konfigurieren (Schritt 5.)
Sobald Prometheus auf Debian 11 oder Ubuntu 22.04 installiert wurde, können wir uns den Konfigurationen widmen. Die globale Konfiguration kann in der folgenden Datei erfolgen. Wir verwenden in dieser Anleitung den Editor nano.
Konfigurationsdatei öffnen:
nano /etc/prometheus/prometheus.yml
Hinweis: Konfigurations- und Einstellungsmöglichkeiten können der offiziellen Dokumentation über diesen Link entnommen werden: https://prometheus.io/docs/prometheus/latest/configuration/configuration/
Damit der Prometheus-Dienst nach einem Systemneustart automatisch wieder gestartet wird, ist es empfohlen, eine systemd Servicedatei für die Anwendung zu erstellen.
Service-Datei erstellen:
nano /etc/systemd/system/prometheus.service
Kopiere diesen Inhalt und füge ihn in die Datei ein:
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/docs/introduction/overview/
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
Speicher die Änderungen ab [STRG+S] und verlasse den Editor wieder [STRG+X].
Berechtigungen für die Verzeichnisse erteilen und abschließende Einstellungen vornehmen (Schritt 6.)
Wir machen den Benutzer Prometheus zum Besitzer der Verzeichnisse und erteilen für den Betrieb notwendige Berechtigungen zum Schreiben, Lesen und Verändern von Dateien.
chown -R prometheus:prometheus /etc/prometheus/
chmod -R 775 /etc/prometheus/
chown -R prometheus:prometheus /var/lib/prometheus/
Falls Du die Uncomplicated Firewall unter Linux verwendest, sollte noch der TCP-Port für den Zugriff auf die Weboberfläche freigeschaltet werden.
UFW Port für Prometheus erlauben:
ufw allow 9090/tcp
Jetzt laden wir den Prometheus-Dienst neu und aktivieren den Service:
systemctl daemon-reload
systemctl start prometheus
systemctl enable --now prometheus
Überprüfe den Status von Prometheus, um sicherzustellen, dass der Service ordnungsgemäß auf dem Host ausgeführt wird:
systemctl status prometheus
Wird der Service erfolgreich ausgeführt? Dann können wir die Weboberfläche von Prometheus über die IP-Adresse aufrufen.
Prometheus-Installation unter Linux abgeschlossen: Weboberfläche über die IP-Adresse aufrufen
Verwende einen beliebigen Webbrowser und gebe die IP-Adresse, gefolgt vom Port 9090, in die URL-Leiste ein. Jetzt können wir damit beginnen, Zielserver einzupflegen und eigene Panels mit Alarmierungen für das Monitoring anzulegen. Diese Schritte sind allerdings individuell und abhängig vom eigenen Vorhaben. Pflege beliebig viele targets ein und Überwache deine Server-Infrastruktur.
IP-Adresse über den Browser aufrufen (Beispiel-IP):
http://192.168.178.189:9090