Anleitungen

Heimserverüberwachung mit Kuma Uptime – eine einfache Möglichkeit, die Serviceverfügbarkeit zu überwachen

Heimserverüberwachung mit Kuma Uptime – eine einfache Möglichkeit, die Serviceverfügbarkeit zu überwachen

Ist Ihnen jemals plötzlich aufgefallen, dass die Website, die Sie auf Ihrem Heimserver betreiben, seit letzter Nacht nicht verfügbar ist, aber Sie haben es erst jetzt erfahren? Oder stürzt eine mit Docker ausgeführte Anwendung plötzlich ab, und Sie wissen nicht einmal, wann der Absturz begann? Wenn ja, sind Sie nicht allein. Viele, die Server zu Hause betreiben, vergessen, dass die Dienstverfügbarkeit überwacht werden muss – nicht nur für diejenigen in der Cloud.

Hier kommt Uptime Kuma als einfache, selbst gehostete und kostenlose Überwachungslösung ins Spiel. In diesem Artikel wird erläutert, wie Sie Kuma Uptime auf einem Heimserver von Grund auf einrichten, einschließlich Docker-Konfiguration, Benachrichtigungen und einigen nützlichen Tricks.

Was ist Kuma Uptime?

Uptime Kuma ist eine Open-Source-Überwachungsanwendung zur Überwachung der Dienstverfügbarkeit – von Websites, TCP-Ports, DNS bis hin zu Anwendungen, die auf Docker ausgeführt werden. Stellen Sie sich das wie einen Hausalarm vor: Sie installieren an mehreren Stellen Sensoren, und wenn etwas schief geht, geht der Alarm los. Uptime Kuma macht dasselbe, aber für Ihre digitalen Dienste.

Das Interessante daran ist, dass Uptime Kuma so konzipiert ist, dass es selbst gehostet wird, was bedeutet, dass alle Überwachungsdaten auf Ihrem Server verbleiben. Sie müssen sich keine Sorgen um den Datenschutz oder die Abhängigkeit von Diensten Dritter machen. Auch die Optik ist schlicht und modern – man muss sich schnell daran gewöhnen.

Warum benötigt der Heimserver eine Überwachung?

Viele Leute denken, dass die Überwachung nur für große Server oder Unternehmensdienste gilt. Tatsächlich wird auch ein Heimserver benötigt. Hier sind einige Gründe, warum Sie Folgendes benötigen:

  • Probleme schneller erkennen – Anstatt erst dann herauszufinden, dass ein Problem vorliegt, wenn sich jemand beschwert oder manuell nachprüft, werden Sie durch die Überwachung automatisch benachrichtigt.
  • Verfügbarkeitsverlauf – Sie können Muster erkennen: Stürzt der Server zu bestimmten Zeiten häufig ab? Gibt es wiederkehrende Netzwerkprobleme?
  • Dokumentation für sich selbst – Der Überwachungsverlauf kann ein Beweis dafür sein, dass Ihr Server stabil ist, oder als Bewertungsmaterial verwendet werden, wenn ein Problem auftritt.
  • Echtzeitbenachrichtigungen – Wenn jemand stirbt, werden Sie sofort per E-Mail, Telegram oder sogar Push-Benachrichtigung auf Ihrem Mobiltelefon informiert.

Im Wesentlichen ist die Überwachung wie eine Versicherung: Sie hoffen, dass Sie sie nicht verwenden müssen, aber wenn Sie dies tun, sind Sie dankbar, dass Sie sie installiert haben.

Schritt 1: Docker-Vorbereitung

Kuma Uptime kann direkt oder über Docker ausgeführt werden. Da die meisten Heimserver mittlerweile Docker verwenden, werden wir diese Methode verwenden, da sie sauberer und einfacher zu verwalten ist.

Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem Server installiert sind. Wenn nicht, führen Sie Folgendes aus:

sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker

Danach erstellen Sie ein Verzeichnis für Uptime Kuma:

mkdir -p /opt/uptime-kuma
cd /opt/uptime-kuma

Schritt 2: Docker Compose erstellen

Erstellen Sie eine docker-compose.yml-Datei mit folgendem Inhalt:

version: "3.8"
services:
  uptime-kuma:
    image: louislam/uptime-kuma:latest
    container_name: uptime-kuma
    restart: unless-stopped
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data

Kurze Erklärung:

  • Image: Verwendet das offizielle Image von Docker Hub (louislam/uptime-kuma).
  • Ports: Ordnen Sie Port 3001 vom Container zum Host zu. Sie können die erste Nummer ändern (z. B. 8080:3001), wenn Port 3001 bereits verwendet wird.
  • Volumes: Daten werden im ./data-Verzeichnis gespeichert, um persistent zu sein. Wird der Container gelöscht, bleiben die Daten sicher.
  • Neustart: unless-stopped bedeutet, dass der Container beim Neustart des Servers automatisch neu gestartet wird, sofern Sie ihn nicht manuell stoppen.

Ausführen:

docker compose up -d

Warten Sie einen Moment, bis das Bild heruntergeladen wurde. Wenn Sie fertig sind, öffnen Sie einen Browser und greifen Sie auf http://IP_SERVER:3001 zu. Sie werden aufgefordert, das erste Administratorkonto zu erstellen.

Schritt 3: Erste Monitoreinrichtung

Nach dem Anmelden sehen Sie ein leeres Dashboard. Klicken Sie auf „+ Neuen Monitor hinzufügen“, um mit der Überwachung des Dienstes zu beginnen.

Die folgenden Monitortypen sind verfügbar:

  • HTTP(s) – Überwacht, ob auf die URL zugegriffen werden kann, und antwortet mit dem Statuscode 200. Geeignet für Websites oder APIs.
  • TCP-Port – Überwacht, ob auf einen bestimmten Port zugegriffen werden kann. Nützlich für Dienste, die keine HTTP-Schnittstelle haben.
  • DNS – Stellt sicher, dass die DNS-Auflösung korrekt ist.
  • Docker – Überwachen Sie Docker-Container in Echtzeit.
  • Schlüsselwort – Überprüft, ob die Seite ein bestimmtes Schlüsselwort enthält.

Als Beispiel überwachen wir eine Website, die auf Nginx läuft. Füllen Sie das Formular wie folgt aus:

  • Monitortyp: HTTP(s)
  • URL: https://adammuiz.com
  • Überwachungsintervall: 60 Sekunden (Standard reicht für die meisten Fälle aus)
  • Wiederholungen: 3 (d. h. der Server muss dreimal hintereinander ausfallen, bevor er als ausgefallen erklärt wird)

Klicken Sie auf Speichern und der Monitor beginnt sofort mit der Arbeit. Auf dem Dashboard werden Diagramme zur Verfügbarkeit und zur Reaktionszeit angezeigt.

Schritt 4: Automatische Benachrichtigungen

Überwachung ohne Benachrichtigungen ist wie ein Alarm, der ertönt, aber Sie hören ihn nicht. Kuma Uptime unterstützt viele Benachrichtigungsmethoden, darunter:

  • E-Mail (SMTP) – E-Mail senden, wenn der Dienst ausgefallen oder wiederhergestellt ist.
  • Telegram Bot – Benachrichtigungen direkt an Telegram. Sehr praktisch für indonesische Benutzer.
  • Discord Webhook – Geeignet, wenn Sie Discord für eine Community verwenden.
  • Pushover / Pushbullet – Push-Benachrichtigung an das Mobiltelefon.
  • Shell-Befehl – Führen Sie ein benutzerdefiniertes Skript aus, wenn ein Ereignis auftritt.

Lassen Sie uns Benachrichtigungen per Telegram einrichten. Sie müssen zuerst einen Telegram-Bot erstellen:

  1. Öffnen Sie Telegram, suchen Sie nach @BotFather und senden Sie den Befehl /newbot.
  2. Geben Sie einen Namen und einen Benutzernamen für Ihren Bot ein. BotFather stellt einen Token bereit.
  3. Suchen Sie Ihren neuen Bot in Telegram, senden Sie eine beliebige Nachricht (z. B. „Hallo“) und öffnen Sie dann diese URL in einem Browser: https://api.telegram.org/botTOKEN/getUpdates, um eine Chat-ID zu erhalten.

Jetzt zu Kuma Uptime:

  1. Gehen Sie zu Einstellungen → Benachrichtigungen.
  2. Klicken Sie auf Benachrichtigung einrichten.
  3. Wählen Sie Telegramm.
  4. Geben Sie das Bot-Token und die Chat-ID ein.
  5. Testen Sie die Benachrichtigung und speichern Sie sie dann.

Danach erhalten Sie jedes Mal, wenn der von Ihnen überwachte Dienst ausfällt, sofort eine Nachricht auf Telegram. Praktisch, oder?

Schritt 5: Status der öffentlichen Seite

Eine weitere coole Funktion von Uptime Kuma ist die Statusseite. Dies ist eine öffentliche Seite, die den Status all Ihrer Dienste anzeigt – ähnlich den Statusseiten, die von großen Unternehmen wie GitHub oder Cloudflare verwendet werden.

Um es zu aktivieren:

  1. Öffnen Sie Statusseiten im Dashboard.
  2. Klicken Sie auf "Vorfall erstellen" oder "Neue Statusseite".
  3. Wählen Sie aus, welchen Monitor Sie anzeigen möchten.
  4. Legen Sie bei Bedarf einen benutzerdefinierten Namen und eine benutzerdefinierte URL fest.

Auf diese Statusseite kann jeder zugreifen, der über den Link verfügt. Nützlich, wenn Sie Freunden, Familie oder Kunden die Betriebszeit Ihres Servers zeigen möchten.

Schritt 6: Datensicherung

Da alle Kuma Uptime-Daten im Verzeichnis data gespeichert sind, ist die Sicherung sehr einfach. Sie können crontab für die automatische Sicherung verwenden:

0 2 * * * tar -czf /home/adam/backup/uptime-kuma-$(date +\%Y\%m\%d).tar.gz -C /opt/uptime-kuma data

Oder wenn Sie anspruchsvoller sein möchten, verwenden Sie restic oder borgbackup für verschlüsselte Sicherungen auf Remote-Speicher.

Wichtig zu beachten: Die Sicherung muss das gesamte data-Verzeichnis umfassen, da es die SQLite-Datenbank mit allen Monitorkonfigurations-, Verlaufs- und Benachrichtigungseinstellungen enthält.

Zusätzliche Tipps

Einige Tipps, die ich nach langer Nutzung von Uptime Kuma gelernt habe:

  • Seien Sie nicht zu aggressiv – Ein Überwachungsintervall von 10 Sekunden hört sich vielleicht gut an, überlastet jedoch den Server und generiert zu viele Daten. In den meisten Fällen reichen 60 Sekunden aus.
  • Verwenden Sie Wiederholungsversuche – Benachrichtigen Sie nicht sofort, wenn einer fehlschlägt. Legen Sie mindestens 2–3 Wiederholungsversuche fest, um Fehlalarme aufgrund von Netzwerktransienten zu vermeiden.
  • Auch von innen überwachen – Sie können Dienste über die lokale IP überwachen, um sicherzustellen, dass auch der LAN-Zugriff ausgeführt wird, und nicht nur über die öffentliche URL.
  • Mit nftables kombinieren – Wenn Sie bereits nftables verwenden, stellen Sie sicher, dass der Überwachungsport nicht durch eine Firewall blockiert wird.

Schlussfolgerung

Kuma Uptime ist eines der besten selbst gehosteten Überwachungstools, die ich je verwendet habe. Es ist einfach einzurichten, leicht zu bedienen und verfügt über genügend Funktionen für die Anforderungen eines Heimservers. Am wichtigsten ist, dass alle Daten Ihr Eigentum bleiben – keine Abhängigkeit von Diensten Dritter.

Wenn Sie bereits einen Heimserver haben, aber noch keine Überwachung haben, ist dies der richtige Zeitpunkt, damit anzufangen. Denn ein nicht überwachter Server ist wie ein Haus ohne Alarmanlage – Sie hoffen, dass er sicher ist, aber wer weiß?

Haben Sie Kuma Uptime oder andere Überwachungstools verwendet? Teilen Sie uns Ihre Erfahrungen in der Kommentarspalte mit. Wenn es irgendwelche Konflikte bezüglich der Einrichtung gibt, zögern Sie nicht, nachzufragen!