Wie man Prometheus auf einem VPS selbst hostet (Vollständiger Leitfaden)
Prometheus ist ein leistungsstarkes Open-Source-Überwachungs- und Alarm-Toolkit, das häufig zur Erfassung von Metriken aus verschiedenen Diensten verwendet wird. Das Selbst-Hosten von Prometheus auf einem VPS gibt Ihnen die vollständige Kontrolle über Ihr Überwachungs-Setup. In diesem Leitfaden führen wir Sie durch den Prozess der Installation von Prometheus auf einem virtuellen privaten Server (VPS) und verwenden Docker für eine einfache Verwaltung und Bereitstellung.
Schritt 1: Wahl eines VPS-Anbieters
Bevor wir beginnen, müssen Sie einen VPS-Anbieter auswählen. Nachfolgend finden Sie einen Vergleich einiger beliebter VPS-Optionen, die sich für das Hosting von Prometheus eignen:
| Anbieter | Preis (pro Monat) | Funktionen | Link |
|---|---|---|---|
| Contabo VPS | 5,99 EUR | Hoher RAM, SSD-Speicher | Contabo |
| Hetzner Cloud | 4,15 EUR | Exzellente Leistung, skalierbare Lösungen | Hetzner Cloud |
| DigitalOcean | 6 USD | Einfache Benutzeroberfläche, großzügige Credits | DigitalOcean |
| Vultr | 6 USD | Weitreichende geografische Standorte | Vultr |
| Linode (Akamai) | 5 USD | Einfache Preisgestaltung, Zuverlässigkeit | Linode |
Für Entwickler und Homelabber sticht Hetzner Cloud oft aufgrund seiner wettbewerbsfähigen Preise und Leistungen hervor.
Schritt 2: Einrichten Ihres VPS
Nachdem Sie einen VPS-Anbieter ausgewählt haben, starten Sie eine Instanz mit mindestens 1 GB RAM und einer anständigen CPU. Befolgen Sie diese Schritte zur Servervorbereitung:
-
Verbinden Sie sich über SSH mit Ihrem Server:
ssh root@your_vps_ip -
Aktualisieren Sie Ihr System:
sudo apt update && sudo apt upgrade -y -
Installieren Sie Docker:
sudo apt install docker.io -y -
Starten und aktivieren Sie Docker:
sudo systemctl start docker sudo systemctl enable docker
Schritt 3: Installieren von Prometheus mit Docker
Mit installiertem Docker können Sie Prometheus schnell in einem Container bereitstellen.
-
Ziehen Sie das offizielle Prometheus-Docker-Image:
sudo docker pull prom/prometheus -
Erstellen Sie eine Konfigurationsdatei für Prometheus. Sie können die Standardkonfiguration verwenden oder Ihre eigene erstellen. Hier ist ein einfaches Beispiel:
global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] -
Speichern Sie diese Konfiguration als
prometheus.yml. -
Führen Sie Prometheus mit Docker aus:
sudo docker run -d \ -p 9090:9090 \ --name prometheus \ -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \ prom/prometheus -
Greifen Sie auf Prometheus zu: Gehen Sie in Ihrem Webbrowser zu
http://your_vps_ip:9090, um das Prometheus-Dashboard zu sehen.
Schritt 4: Konfigurieren von Prometheus
Sobald Prometheus läuft, können Sie es weiter konfigurieren, um Ihre Anwendungsmetriken zu erfassen. Hier sind einige grundlegende Konfigurationen:
- Zusätzliche Ziele hinzufügen: Ändern Sie die
prometheus.yml, um andere Dienste hinzuzufügen, die Sie überwachen möchten. - Alarmierungsregeln: Richten Sie Alarmierungsregeln in einer separaten Konfigurationsdatei ein und integrieren Sie Alertmanager für Benachrichtigungen.
Schritt 5: Daten speichern
Prometheus verwendet eine Zeitreihendatenbank, um Metrikdaten effizient zu speichern. Standardmäßig speichert es Daten im Speicher, aber Sie können bei Bedarf Persistenzoptionen konfigurieren.
FAQs
Wie sichere ich Prometheus auf meinem VPS?
Um Ihre Prometheus-Instanz abzusichern, ziehen Sie in Betracht, die folgenden Schritte zu implementieren:
- Verwenden Sie HTTPS: Richten Sie einen Webserver (wie Nginx) ein, um Anfragen an Prometheus weiterzuleiten und Inhalte über HTTPS bereitzustellen.
- Basis-Authentifizierung: Fügen Sie auf Nginx- oder Webserver-Ebene eine Authentifizierungsschicht hinzu.
- Firewall-Regeln: Erstellen Sie Firewall-Regeln, um den Zugriff nur auf Ihre IP oder vertrauenswürdige Netzwerke zu beschränken.
Dies stellt sicher, dass Ihre Daten vor unbefugtem Zugriff geschützt sind.
Kann ich andere Dienste mit Prometheus überwachen?
Ja, eine der zentralen Stärken von Prometheus ist die Fähigkeit, Metriken aus verschiedenen Diensten zu erfassen. Sie können überwachen:
- Anwendungsmetriken direkt, wenn sie Prometheus-kompatible Endpunkte bereitstellen.
- Exporter für gängige Datenbanken (MySQL, PostgreSQL) und Dienste (Redis, Nginx).
- Benutzerdefinierte Metriken aus Ihren Anwendungen, indem Sie einen
/metrics-Endpunkt bereitstellen.
Diese Flexibilität ermöglicht ein umfassendes Überwachungssetup.
Wie richte ich Alarme in Prometheus ein?
Prometheus kann Sie basierend auf in Ihrer Konfiguration definierten Regeln alarmieren. So richten Sie grundlegende Alarme ein:
-
Definieren von Alarmierungsregeln: Erstellen Sie eine YAML-Datei mit Ihren Alarmdefinitionen. Beispiel:
groups: - name: beispiel rules: - alert: HoheLast expr: job:load1:avg5m > 0.7 for: 10m labels: severity: critical annotations: summary: "Hohe Last auf Instanz {{ $labels.instance }}" -
Konfigurieren von Alertmanager: Installieren und konfigurieren Sie Alertmanager, um Alarme zu verwalten, die von Prometheus gesendet werden.
-
Benachrichtigungskanäle: Richten Sie Benachrichtigungskanäle (E-Mail, Slack) in Alertmanager für die Alarmzustellung ein.
Für fortgeschrittene Konfigurationen lesen Sie die Prometheus-Dokumentation.
Fazit
Das Selbst-Hosten von Prometheus auf einem VPS bietet eine robuste Lösung zur Überwachung Ihrer Anwendungen und Infrastrukturen. Mit den oben skizzierten Schritten können Sie Prometheus installieren, konfigurieren und anpassen, um Ihre Bedürfnisse zu erfüllen. Für einen vollständigen VPS-Vergleich besuchen Sie unseren vollständigen VPS-Vergleich. Viel Spaß beim Überwachen!