Synology und Überwachung 12 Min. Lesezeit

Uptime Kuma auf Synology installieren und Ihre Dienste überwachen

Uptime Kuma mit dem Container Manager bereitstellen, den Firewall- und Reverse-Proxy-Regeln von DSM konfigurieren, dann die ersten Monitore und Benachrichtigungen einrichten.

Uptime Kuma verwandelt ein Synology NAS in eine autonome Überwachungsstation. Solange das NAS und sein Netzwerk funktionieren, überprüft es kontinuierlich die Websites, Server, Datenbanken und anderen Dienste, die Sie ihm anvertrauen, speichert deren Verlauf und benachrichtigt Sie schnell, wenn eine Prüfung fehlschlägt.

Warum Uptime Kuma verwenden

Uptime Kuma ist eine Open-Source-Anwendung zur Verfügbarkeitsüberwachung. Sie fungiert als persönlicher Alarm: Sie überprüft, ob eine Website, ein Server oder ein Netzwerkdienst noch antwortet, und löst bei einer Zustandsänderung sofort eine Benachrichtigung aus.

Detail eines DNS-Monitors in Uptime Kuma mit Verfügbarkeit und Latenzkurve
Jeder Monitor bündelt sein letztes Ergebnis, seine Verfügbarkeit, die Latenz und die Verlaufshistorie der Prüfungen.
Uptime Kuma Verlauf mit Wechsel zwischen verfügbaren und nicht verfügbaren Status eines DNS-Checks
Der Verlauf ermöglicht es, Unterbrechungen und die Rückkehr zum Normalbetrieb genau zu datieren.

Der Bedarf ist einfach: zu wissen, wann eine Website nicht mehr reagiert, die Qualität einer Internetverbindung zu überwachen oder die Verfügbarkeit eines Geräts bei einem Anbieter zu messen. Anstatt eine Störung zufällig zu entdecken, erhalten Sie sofort eine Warnung per Messenger, E-Mail oder über einen der vielen kompatiblen Dienste.

Uptime Kuma vereint unter anderem folgende Funktionen:

  • Überwachung von HTTP- und HTTPS-Domains mit optionaler Suche nach einem Schlüsselwort auf der Seite;
  • Überwachung von DNS-Einträgen, Docker-Containern und Datenbanken wie MySQL, MariaDB oder Microsoft SQL Server;
  • reaktive, klare und schnell zu navigierende Benutzeroberfläche;
  • manueller Dunkelmodus oder mit dem Systemdesign synchronisierter Dunkelmodus;
  • Latenzdiagramme und Verfügbarkeitsstatistiken über die Zeit;
  • Warnungen an zahlreiche Dienste, beispielsweise Telegram, Slack, Discord, Microsoft Teams, Signal, Gotify, Ntfy, Opsgenie oder PagerDuty;
  • Unterstützung eines Proxys für Prüfungen, die über einen Vermittler nach außen gehen müssen;
  • Prüfintervall bis herunter zu 20 Sekunden, sofern der Monitortyp dies zulässt;
  • in zahlreiche Sprachen übersetzte Benutzeroberfläche, darunter Französisch;
  • öffentliche Statusseiten, um Benutzer zu informieren oder eine Wartung anzukündigen;
  • Nachverfolgung des Ablaufs von TLS-Zertifikaten und Kontoschutz durch Zwei-Faktor-Authentifizierung.

Ich suchte schon lange nach einer Lösung dieser Art. Gehostete Dienste waren entweder kostenpflichtig oder für meinen Einsatz zu eingeschränkt. Hier hängt die Anzahl der Monitore hauptsächlich von den Ressourcen des NAS und der gewählten Häufigkeit ab, während die Prüf- und Benachrichtigungsmodi die meisten Anforderungen eines kleinen Netzwerks oder eines Heimlabors abdecken.

Persistente Ordner vorbereiten

Erstellen Sie in der Freigabe docker einen Ordner uptime-kuma und dann einen Unterordner data. Die Datenbank, die Einstellungen, die verfolgten Zertifikate und die Konfiguration der Instanz werden dort außerhalb des Containers gespeichert.

Ordner uptime-kuma und data, erstellt in File Station auf einem Synology NAS
Der Ordner data speichert die Datenbank, die Einstellungen und die anderen persistenten Daten der Anwendung.

Projekt im Container Manager erstellen

Öffnen Sie Container Manager → Projekt → Erstellen. Benennen Sie das Projekt kuma, wählen Sie den Pfad /docker/uptime-kuma, wählen Sie die Erstellung einer Datei docker-compose.yml und geben Sie dann die folgende Konfiguration ein:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    restart: unless-stopped
    volumes:
      - ./data:/app/data
    ports:
      # <NAS-Port>:<Container-Port>
      - "3005:3001"
    environment:
      TZ: Europe/Brussels

Der Major-Tag :2 folgt dem stabilen Zweig von Uptime Kuma 2. Zum Zeitpunkt dieser Überprüfung ist die veröffentlichte stabile Version 2.5.3. Wenn Sie jedes Update manuell validieren möchten, ersetzen Sie den Major-Tag durch eine bestimmte Version und kehren Sie dann zum Tag :2 zurück, sobald Ihre Testprozedur bereit ist.

Erstellung des Projekts kuma und Eingabe der Compose-Datei im Synology Container Manager
Das Projekt verwendet den Ordner /docker/uptime-kuma und veröffentlicht den Port 3001 des Containers auf dem Port 3005 des NAS.
Terminal des Container Managers, das die Erstellung des Uptime Kuma Containers mit Exit-Code 0 bestätigt
Exit Code: 0 bestätigt, dass das Image extrahiert wurde und der Container korrekt gestartet ist.

Validieren Sie das Projekt. Container Manager lädt das Image herunter, erstellt das Docker-Netzwerk und startet den Dienst. Die Meldung Exit Code: 0 bedeutet, dass die Erstellung ohne Fehler abgeschlossen wurde. Überprüfen Sie anschließend, ob der Container tatsächlich im aktiven Zustand angezeigt wird.

DSM-Firewall konfigurieren

Wenn die DSM-Firewall aktiviert ist, muss der Container die zu überwachenden Ziele erreichen können. Erweitern Sie in Container Manager → Netzwerk kuma_default und notieren Sie sein Subnetz. Die Aufnahme zeigt 172.18.0.0/16; die Maske /16 entspricht 255.255.0.0.

Docker-Netzwerk kuma_default und Subnetz 172.18.0.0/16 im Container Manager
In diesem Beispiel hat der Container Manager 172.18.0.0/16 dem Projekt kuma zugewiesen; dieser Wert kann auf einem anderen NAS abweichen.

Fügen Sie eine DSM-Regel hinzu, die an dieses Subnetz und die erforderlichen Zielorte angepasst ist, und platzieren Sie sie vor den Ablehnungsregeln. Kopieren Sie 172.18.0.0/16 nicht blind: Docker kann einen anderen Bereich wählen, wenn dieser bereits belegt ist. Vermeiden Sie auch, alle Ports zum gesamten Netzwerk zuzulassen, wenn Kuma nur wenige interne Dienste benötigt.

Kuma mit dem Reverse-Proxy veröffentlichen

Um auf Uptime Kuma über einen Domainnamen zuzugreifen, öffnen Sie Systemsteuerung → Anmeldeportal → Erweitert → Reverse-Proxy und erstellen Sie dann eine Regel. Im Originalartikel wurde hier fälschlicherweise Joplin erwähnt: Das Ziel ist tatsächlich der Uptime Kuma Server.

  • Quelle: HTTPS-Protokoll, Hostname wie kuma.exemple.be, Port 443.
  • Ziel: HTTP-Protokoll, Hostname localhost, Port 3005.
  • Benutzerdefinierter Header: Wählen Sie Erstellen → WebSocket, um automatisch Upgrade und Connection hinzuzufügen.
DSM-Reverse-Proxy-Regel, die HTTPS an localhost Port 3005 mit WebSocket-Headern weiterleitet
Der Reverse-Proxy empfängt HTTPS auf Port 443, leitet an localhost:3005 weiter und fügt die WebSocket-Header hinzu.

Erstellen Sie vorab den DNS-Eintrag für kuma.exemple.be und weisen Sie dem Proxy ein gültiges TLS-Zertifikat für diese Subdomain zu. Uptime Kuma verwendet WebSocket: Ohne die beiden in der Aufnahme gezeigten Header kann die Benutzeroberfläche laden, aber keine Verbindung zum Server herstellen. Verwenden Sie eine dedizierte Subdomain anstelle eines Pfads wie /uptime-kuma, der nicht offiziell unterstützt wird.

Ersteinrichtung durchführen

Öffnen Sie https://kuma.exemple.be. Solange der Port 3005 von Ihrem Administrationsnetzwerk aus erreichbar ist, können Sie auch http://IP-DU-NAS:3005 für die erste Diagnose verwenden. Die im Quellartikel enthaltene Joplin-URL war ein Tippfehler und wurde hier korrigiert.

Wählen Sie beim ersten Start die französische Sprache und dann die Datenbank-Engine. SQLite bleibt die einfachste Wahl für eine kleine Installation und die in dieser Konfiguration verwendete. Uptime Kuma 2 bietet auch eingebettetes MariaDB oder einen externen MariaDB/MySQL-Server an. Treffen Sie die Wahl von Anfang an mit dem entsprechenden Wissen: Die direkte Migration einer bestehenden SQLite-Datenbank zu MariaDB wird offiziell nicht unterstützt.

Erster Start von Uptime Kuma mit der Wahl zwischen eingebettetem MariaDB, MariaDB oder MySQL und SQLite
SQLite ist die einfache Wahl für eine kleine Installation; Uptime Kuma 2 bietet auch eingebettetes oder externes MariaDB an.
Uptime Kuma Formular auf Französisch zum Erstellen des ersten Administratorkontos
Wählen Sie Französisch und erstellen Sie dann ein Administratorkonto mit einem einzigartigen und robusten Passwort.

Erstellen Sie anschließend das erste Administratorkonto. Verwenden Sie einen nicht offensichtlichen Benutzernamen, ein einzigartiges, in einem Passwortmanager gespeichertes Passwort und aktivieren Sie dann die Zwei-Faktor-Authentifizierung in den Einstellungen, sobald der Zugriff bestätigt ist.

Leeres Uptime Kuma Dashboard direkt nach der Installation
Die Installation ist abgeschlossen: Das Dashboard wartet nun auf seinen ersten Monitor.

Monitore und Benachrichtigungen hinzufügen

Klicken Sie auf Neuer Monitor, wählen Sie den Prüftyp und geben Sie das Ziel an. Beginnen Sie für eine Website mit HTTP(s), geben Sie deren URL an, wählen Sie ein Intervall und behalten Sie angemessene Timeouts bei. Der Modus „Schlüsselwort“ ist nützlich, wenn ein einfacher HTTP-200-Code nicht ausreicht, um zu beweisen, dass die richtige Seite ausgeliefert wird.

Liste der Monitortypen HTTP, DNS, Docker, MQTT, Datenbanken und andere in Uptime Kuma
Uptime Kuma 2 kann Websites, Ports, DNS, Container und mehrere Protokolle oder Datenbanken überwachen.

Sie können dann je nach Bedarf Ping-, TCP-, DNS-, Docker-, MQTT-, gRPC-, SNMP- oder Datenbank-Prüfungen erstellen. Organisieren Sie diese nach Gruppen und Tags, benennen Sie sie klar und erstellen Sie dann eine separate Statusseite, wenn Benutzer die Verfügbarkeit einsehen müssen, ohne auf das Administrations-Dashboard zuzugreifen.

Fügen Sie unter Einstellungen → Benachrichtigungen mindestens einen Kanal hinzu und senden Sie eine Testwarnung. Telegram, Signal, Slack, Teams, Gotify, Ntfy, Pushover und viele andere Anbieter sind verfügbar. Verknüpfen Sie die Benachrichtigung anschließend mit den betroffenen Monitoren; das Erstellen des Anbieters aktiviert diese nicht automatisch überall.

Liste der Uptime Kuma Benachrichtigungsanbieter mit ausgewähltem Telegram
Telegram ist nur eine Wahl unter vielen Benachrichtigungskanälen, darunter Teams, Signal, Slack, Gotify, Ntfy und Pushover.

Testen Sie abschließend einen echten Übergang: Stoppen Sie kurzzeitig einen nicht kritischen Dienst, warten Sie auf die Warnung zur Nichtverfügbarkeit, starten Sie ihn neu und überprüfen Sie die Benachrichtigung über die Rückkehr zum Normalbetrieb. Diese Prüfung verhindert, dass Sie während einer echten Störung feststellen, dass ein Token oder eine Zieladresse falsch war.

Grenzen und Wartung

Diese Installation läuft seit langem mit mehreren Dutzend Diensten und verbraucht wenig Ressourcen. Die letzte Aufnahme zeigt etwa 180 MB Speicher und weniger als 1 % CPU zu diesem Zeitpunkt; der Bedarf variiert jedoch je nach Anzahl der Prüfungen, deren Häufigkeit, den Benachrichtigungen und der Aufbewahrungsdauer.

Laufendes Uptime Kuma Projekt im Container Manager mit 0,66 Prozent CPU und 180 MB RAM
Auf der beobachteten Installation läuft der Container mit geringer Last: 0,66 % CPU und etwa 180 MB RAM zum Zeitpunkt der Aufnahme.

Sichern Sie den Ordner data vor jedem Update. Laden Sie im Container Manager das neue Image herunter und erstellen Sie das Projekt mit demselben Volume neu. Lesen Sie die Versionshinweise, überprüfen Sie das Dashboard und lösen Sie nach jeder Änderung eine Testbenachrichtigung aus.

Fazit

Uptime Kuma ist nun auf dem Synology NAS installiert, über HTTPS hinter dem Reverse-Proxy erreichbar und bereit, Ihre Dienste zu überwachen. Es bleibt noch, die nützlichen Prüfungen zu erstellen, deren Häufigkeit einzustellen, die Warnungen zu verknüpfen und regelmäßig zu überprüfen, ob Backups und Benachrichtigungen tatsächlich funktionieren.

Referenzen

Über den Autor

Jeremy Kraft betreut die Infrastruktur und die selbst gehosteten Dienste des IBCSC. Diese Anleitungen beschreiben Konfigurationen, die tatsächlich im Einsatz waren und vor der Veröffentlichung erneut geprüft wurden.

Diskussion

Kommentare

0

Noch kein Kommentar. Eröffnen Sie die Diskussion gern mit einer Frage oder Ihrem eigenen Erfahrungsbericht.

Sie haben ein Konto? Anmelden

Reiner Text, höchstens 2 000 Zeichen. Neue Kommentare werden moderiert. Ihr Name wird mit dem Kommentar angezeigt. Es wird keine E-Mail-Adresse abgefragt; gegen Spam wird nur ein nicht umkehrbarer Fingerabdruck Ihrer IP-Adresse gespeichert.