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.
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.
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.
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.
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, Port443. - Ziel: HTTP-Protokoll, Hostname
localhost, Port3005. - Benutzerdefinierter Header: Wählen Sie Erstellen → WebSocket, um automatisch
UpgradeundConnectionhinzuzufügen.
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.
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.
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.
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.
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.
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.
Diskussion
Kommentare
Noch kein Kommentar. Eröffnen Sie die Diskussion gern mit einer Frage oder Ihrem eigenen Erfahrungsbericht.