Language: de
Uptime Kuma: eigene Website-Überwachung auf einem VPS einrichten
Eine Website kann ausfallen und trotzdem 200 OK zurückgeben. Auch ein Backup kann ohne offensichtliche Fehlermeldung nicht mehr laufen. Uptime Kuma erkennt beide Fälle: Es prüft Websites, APIs, Ports und Hintergrundaufgaben und sendet eine Benachrichtigung, wenn etwas nicht stimmt.
Wir zeigen, wo das Überwachungssystem gehostet werden sollte, welchen VPS es benötigt und wie Sie Uptime Kuma 2 installieren, HTTPS aktivieren, Telegram verbinden und eine Statusseite erstellen.
Uptime Kuma in sieben Schritten
- Stellen Sie einen kleinen VPS getrennt von den überwachten Projekten bereit.
- Richten Sie eine Subdomain wie
monitor.example.comdarauf. - Installieren Sie Docker und starten Sie Uptime Kuma 2.
- Schließen Sie den internen Port
3001und aktivieren Sie HTTPS. - Erstellen Sie HTTP-, DNS-, TCP- oder Push-Monitore.
- Konfigurieren Sie Telegram und bei Bedarf eine Statusseite.
- Richten Sie Updates und ein externes Backup des Datenverzeichnisses ein.
Was ist Uptime Kuma?
Uptime Kuma ist ein kostenloses, quelloffenes und selbst gehostetes Tool. Sein Dashboard und der Verlauf der Prüfungen werden auf Ihrem eigenen Server gespeichert.
Es kann HTTP(S), TCP-Ports, Ping, DNS, WebSocket, Text und JSON in Antworten, Push-Signale sowie Docker-Container überwachen. Das kleinste Prüfintervall beträgt 20 Sekunden. Außerdem gibt es Dutzende Benachrichtigungskanäle, 2FA, Latenzdiagramme, TLS-Zertifikatsüberwachung und mehrere Statusseiten.
Einen hinter 200 OK versteckten Fehler erkennen
Eine einfache HTTP-Prüfung sieht nur den Antwortcode. Ein Webserver kann jedoch eine leere Seite oder eine Fehlermeldung der Anwendung anzeigen und trotzdem einen erfolgreichen Status zurückgeben.
Für eine genauere Überwachung verwenden Sie:
- Keyword — sucht nach einer erwarteten Formulierung, etwa dem Namen der Website oder dem Text „Account dashboard“;
- JSON Query — prüft einen Wert in einer API-Antwort, zum Beispiel
status: healthy.
So bestätigt der Monitor nicht nur, dass der Port erreichbar ist, sondern auch, dass die Anwendung mindestens ein erwartetes Zeichen für den korrekten Betrieb zeigt.
Push-Monitor für Backups und Cron-Aufgaben
Ein Push-Monitor fragt einen Dienst nicht regelmäßig ab. Stattdessen wartet er auf ein regelmäßiges Signal dieses Dienstes. Ein Backup-Skript oder Cron-Job ruft nach erfolgreichem Abschluss eine eindeutige URL auf. Wenn das Signal nicht rechtzeitig eintrifft, meldet Uptime Kuma einen Fehler.
Damit lässt sich ein „stilles“ Problem erkennen: Die Website funktioniert noch, aber das tägliche Backup wurde seit mehreren Tagen nicht erstellt.
Was Uptime Kuma nicht ersetzt
Uptime Kuma überwacht hauptsächlich Verfügbarkeit und Antwortzeit. Für CPU, RAM, Festplatte, Logs und Container-Metriken ergänzen Sie es mit Prometheus, Netdata, Zabbix oder einem anderen Monitoring-System: Kuma bemerkt das Problem von außen, während Metriken bei der Ursachenanalyse helfen.
Warum das Monitoring auf einem separaten VPS laufen sollte
Wenn Uptime Kuma neben der Website installiert ist, kann ein Ausfall des VPS, des Netzwerks oder des Rechenzentrums sowohl das Projekt als auch das Monitoring lahmlegen. Die Benachrichtigung wird dann möglicherweise nie gesendet.
Hosten Sie das Dashboard auf einem separaten VPS und bei wichtigen Projekten an einem anderen Standort oder bei einem anderen Anbieter. Es ist außerdem sinnvoll, Kuma selbst mit einem externen Dienst zu überwachen: Auch das Überwachungssystem braucht jemanden, der es überwacht.
Serveranforderungen für Uptime Kuma
Das Projekt legt kein strenges offizielles Minimum für CPU und RAM fest. Eine praktische Ausgangskonfiguration für eine kleine Installation ist:
- 1 vCPU;
- 1 GB RAM;
- 10 GB SSD;
- Ubuntu 24.04 LTS;
- IPv4;
- eine Domain oder Subdomain für HTTPS.
Diese Konfiguration reicht normalerweise für mehrere Dutzend einfache Prüfungen. Für Hunderte Monitore, eine lange Historie oder browserbasierte Prüfungen wählen Sie 2 GB RAM oder mehr.
Uptime Kuma auf einem VPS installieren
Dieses Beispiel verwendet Ubuntu 24.04 und die Subdomain monitor.example.com.
1. DNS und Firewall konfigurieren
Erstellen Sie einen A-DNS-Eintrag, der auf die IPv4-Adresse des VPS zeigt. Verbinden Sie sich per SSH und öffnen Sie die erforderlichen Ports:
ssh root@SERVER_IP
apt update && apt upgrade -y
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enableSchließen Sie die aktuelle SSH-Sitzung erst, wenn Sie eine neue Verbindung getestet haben.
2. Docker und Docker Compose installieren
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
apt update
apt install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin
docker compose version3. Uptime Kuma 2 starten
mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma
cat > compose.yaml <<'EOF'
services:
uptime-kuma:
image: louislam/uptime-kuma:2
restart: unless-stopped
ports:
- "127.0.0.1:3001:3001"
volumes:
- ./data:/app/data
EOF
docker compose up -d
docker compose psVerwenden Sie den Tag :2: latest zeigt weiterhin auf den veralteten v1-Zweig. Das Verzeichnis /app/data muss auf einer lokalen Festplatte oder in einem normalen Docker-Volume liegen. NFS und Speichersysteme ohne korrektes File-Locking können die Datenbank beschädigen.
Port 3001 ist nur unter 127.0.0.1 erreichbar. Ein Reverse Proxy mit HTTPS veröffentlicht das Dashboard nach außen.
4. HTTPS mit Caddy aktivieren
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
monitor.example.com {
reverse_proxy 127.0.0.1:3001
}
EOF
caddy validate --config /etc/caddy/Caddyfile
systemctl reload caddyWenn DNS auf den VPS zeigt, fordert Caddy automatisch ein TLS-Zertifikat an und proxyt WebSocket-Verbindungen. Hosten Sie das Dashboard am Stammverzeichnis einer Domain oder Subdomain: Eine Adresse wie example.com/kuma wird nicht unterstützt.
5. Administratorkonto erstellen
Öffnen Sie https://monitor.example.com, erstellen Sie ein Konto mit einem langen, einzigartigen Passwort und aktivieren Sie die Zwei-Faktor-Authentifizierung.
Den ersten Monitor hinzufügen
Klicken Sie auf Add New Monitor und wählen Sie HTTP(s):
- Geben Sie einen Namen und die vollständige URL ein.
- Legen Sie ein Intervall fest, zum Beispiel 60 Sekunden.
- Fügen Sie zwei Wiederholungen hinzu, um gelegentliche Netzwerkfehler abzufangen.
- Wählen Sie einen Benachrichtigungskanal.
- Speichern Sie den Monitor und prüfen Sie, ob erfolgreiche Prüfungen angezeigt werden.
Für die Hauptwebsite sind HTTP- und Keyword-Prüfungen nützlich. Für eine API verwenden Sie einen Health-Endpunkt und eine JSON Query. Setzen Sie Datenbanken oder Administrationsports nicht nur für das Monitoring dem Internet aus; verwenden Sie ein vertrauenswürdiges Netzwerk oder ein VPN.
Beispiel: Push-Monitor für ein Backup
Nachdem Sie einen Push-Monitor erstellt haben, fügen Sie seine eindeutige URL am Ende des Skripts ein:
backup-command && \
curl -fsS "https://monitor.example.com/api/push/SECRET_TOKEN?status=up&msg=backup-ok"Die Anfrage wird nur nach einem erfolgreichen Backup ausgeführt. Behandeln Sie das Push-Token wie ein Passwort: Jeder, der die URL kennt, kann ein falsches Signal senden.
Telegram verbinden
Erstellen Sie über @BotFather einen Bot, senden Sie ihm eine Nachricht und öffnen Sie anschließend Settings → Notifications → Telegram. Geben Sie Bot Token und Chat ID ein, klicken Sie auf Test und weisen Sie den Kanal Ihren Monitoren zu. Für kritische Dienste fügen Sie einen zweiten Kanal wie E-Mail hinzu.
Eine Statusseite erstellen
Unter Status Pages können Sie Monitore gruppieren, den aktuellen Status und den Verlauf der Verfügbarkeit anzeigen, eine Domain zuweisen und geplante Arbeiten über Maintenance melden. Veröffentlichen Sie keine internen IP-Adressen oder technischen URLs: Kunden benötigen nur Komponenten wie „Website“, „API“, „Account dashboard“ und „Payments“.
Uptime Kuma aktualisieren und sichern
Vor einem größeren Update stoppen Sie den Container und speichern das Datenverzeichnis:
cd /opt/uptime-kuma
docker compose down
tar -czf /root/uptime-kuma-$(date +%F).tar.gz \
data compose.yaml
docker compose up -dVerschieben Sie das Archiv auf ein anderes Gerät oder in einen externen Speicher. Eine Kopie auf demselben VPS schützt nicht vor der Löschung des Servers oder einem Festplattenausfall.
Für ein reguläres Update:
cd /opt/uptime-kuma
docker compose pull
docker compose up -d --force-recreatePrüfen Sie nach dem Start docker compose ps, öffnen Sie das Dashboard und senden Sie eine Testbenachrichtigung.
Welchen VPS für Uptime Kuma wählen?
Eine kleine Installation benötigt nur einen Linux-VPS mit 1 vCPU und 1 GB RAM. Unabhängigkeit ist wichtiger als Rohleistung: Der Monitor muss weiterlaufen, wenn das Hauptprojekt nicht verfügbar ist.
Sie können Uptime Kuma auf einem VPS von tropic.host hosten, wenn die überwachten Dienste auf einer anderen Plattform oder einem unabhängigen Node laufen. Ubuntu, Docker und eine statische IP machen den Start des Dashboards schnell, während sich die Ressourcen mit wachsender Zahl der Prüfungen erhöhen lassen.
Wenn die Produktion bereits in derselben Infrastruktur läuft, wählen Sie einen anderen Node oder fügen Sie einen externen Backup-Monitor hinzu. Getrennte Fehlerdomänen sind nützlicher als ein zusätzlicher CPU-Kern.
Häufige Fehler
| Fehler | Warum es ein Problem ist | Besserer Ansatz |
|---|---|---|
| Monitoring läuft neben dem Projekt | Ein gemeinsamer Ausfall legt Dienst und Benachrichtigungen lahm | Separaten VPS oder Standort verwenden |
Port 3001 ist öffentlich erreichbar | Das Dashboard ist ohne Reverse Proxy oder HTTPS zugänglich | Port an 127.0.0.1 binden |
Nur der Statuscode 200 wird geprüft | Ein Anwendungsfehler kann wie Erfolg aussehen | Keyword oder JSON Query hinzufügen |
Der Tag latest wird verwendet | Er zeigt auf den veralteten v1-Zweig | louislam/uptime-kuma:2 verwenden |
| Das Backup liegt auf demselben VPS | Es verschwindet zusammen mit dem Server | Das Verzeichnis data an einen anderen Ort kopieren |
Zusammenfassung
Uptime Kuma verwandelt einen kleinen VPS in ein eigenes Überwachungszentrum für Websites, APIs, DNS, Ports, Zertifikate und Hintergrundaufgaben. Keyword erkennt eine beschädigte Seite, JSON Query eine fehlerhafte API-Antwort und Push ein ausgebliebenes Backup oder einen gestoppten Cron-Job.
Für eine zuverlässige Einrichtung hosten Sie das Monitoring getrennt von der Produktion, schließen Sie Port 3001, aktivieren Sie HTTPS und 2FA und konfigurieren Sie zwei Benachrichtigungskanäle. Richten Sie anschließend ein externes Backup des Datenverzeichnisses und eine unabhängige Prüfung von Uptime Kuma selbst ein.
FAQ
Ist Uptime Kuma kostenlos?
Ja. Das Projekt ist quelloffen und wird unter der MIT-Lizenz veröffentlicht. Sie zahlen nur für Infrastruktur, Domain und externe Backups.
Wie viel RAM benötigt Uptime Kuma?
Für eine kleine Installation ist 1 GB RAM ein sinnvoller Start. Für Hunderte Prüfungen, eine lange Historie oder die Browser Engine sollten Sie 2 GB oder mehr einplanen.
Kann Uptime Kuma ohne Docker installiert werden?
Ja, mit Node.js und PM2. Docker Compose lässt sich auf einem VPS jedoch meist leichter aktualisieren, migrieren und wiederherstellen.
Kann Uptime Kuma ohne Domain verwendet werden?
Technisch ja — über die IP-Adresse oder einen SSH-Tunnel. Für einen dauerhaften Internetzugriff ist eine Subdomain mit HTTPS sicherer.
Zeigt Uptime Kuma CPU-, RAM- und Festplattenauslastung an?
Nicht als vollständiges Server-Metriksystem. Für die Überwachung von Serverressourcen ergänzen Sie es mit Prometheus, Netdata, Zabbix oder einem anderen spezialisierten Tool.
