Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung UGREEN NAS 03.11.2026 · 9 min Lesezeit

UGREEN NAS: Lebenszeichen an Uptime Kuma senden

Teil 99 der UGREEN-Serie: Die UGREEN NAS meldet sich jede Minute per Push bei einer Uptime-Kuma-Instanz außer Haus, damit auch ein Ausfall der NAS selbst gemeldet wird.

Geprüft am 03.11.2026 · für UGOS Pro 1.21.0.0190

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Titelbild Teil 99: Lebenszeichen der UGREEN NAS an Uptime Kuma

Uptime Kuma auf der NAS meldet zuverlässig, wenn ein Dienst ausfällt. Fällt aber die NAS selbst aus, der Strom oder das Internet zu Hause, schweigt auch Kuma, und niemand erfährt davon. Die Lösung ist ein Lebenszeichen: Die NAS meldet sich jede Minute bei einer zweiten Kuma-Instanz an einem anderen Ort. Bleibt die Meldung aus, schlägt diese zweite Instanz Alarm. Diese Anleitung zeigt den Push-Monitor in Uptime Kuma und einen systemd-Timer auf der UGREEN NAS, der das Lebenszeichen sendet.

Der Aufbau läuft so seit dem 31.10.2026 auf einer UGREEN DXP4800 Pro, inzwischen mit UGOS Pro 1.21.0.0190. Adressen und Token sind in Bild und Text ersetzt.

Voraussetzungen

  • Uptime Kuma auf der NAS, siehe Teil 68
  • Eine zweite Uptime-Kuma-Instanz an einem anderen Ort, etwa auf einem kleinen Server im Rechenzentrum
  • SSH-Zugang zur NAS mit sudo, siehe Teil 52
  • Etwa 20 Minuten

Schritt 1: Den Push-Monitor anlegen

Öffnen Sie die Kuma-Instanz außer Haus und klicken Sie auf Neuen Monitor hinzufügen. Wählen Sie als Monitortyp Push.

Neuer Push-Monitor in Uptime Kuma mit Push-URL und Intervall
Neuer Monitor vom Typ Push: 1 Monitortyp Push, 2 Push-URL mit Hinweis, dass sie alle 60 Sekunden aufgerufen werden sollte, 3 Heartbeat-Intervall 60 Sekunden.

Kuma erzeugt eine Push-URL mit einem zufälligen Token, den Knopf zum Kopieren finden Sie rechts daneben. Der Hinweis unter der URL nennt das Heartbeat-Intervall, im Bild die voreingestellten 60 Sekunden. Vergeben Sie einen Anzeigenamen wie Lebenszeichen NAS. Wir stellen 300 Sekunden und eine Wiederholung ein, die NAS sendet trotzdem jede Minute. So lösen kurze Störungen der Internetleitung keinen Alarm aus. Hängen Sie eine Benachrichtigung an, etwa Telegram, und speichern Sie.

Die Push-URL ist ein Geheimnis: Wer sie kennt, kann Lebenszeichen vortäuschen. Kopieren Sie sie in den Passwortmanager. Über Token zurücksetzen erzeugen Sie bei Bedarf eine neue.

Verifizieren: Der neue Monitor steht in der Liste, zunächst ohne Werte, nach Ablauf des Intervalls auf Ausstehend und danach auf Offline, weil noch niemand sendet.

Schritt 2: Die URL sicher auf der NAS ablegen

Speichern Sie die URL auf der NAS in einer Datei, die nur root lesen darf. Melden Sie sich per SSH an und legen Sie die Datei an:

sudo sh -c 'umask 077; cat > /etc/sedv-lebenszeichen.url'

Fügen Sie die Push-URL ohne den Teil ab dem Fragezeichen ein, also ohne ?status=up&msg=OK&ping=, drücken Sie Enter und dann Strg+D. Prüfen Sie die Rechte:

sudo stat -c "%a %U" /etc/sedv-lebenszeichen.url

Die Ausgabe muss 600 root lauten, also Lesen und Schreiben nur für root. Die URL steht so weder im Skript noch in einer Befehlszeile, die andere Prozesse sehen könnten.

Verifizieren: stat meldet 600 root.

Schritt 3: Das Skript

Prüfen Sie vorher, ob Ihr Kuma-Container uptime-kuma heißt und gesund ist:

sudo docker inspect -f '{{.State.Health.Status}}' uptime-kuma

Die Ausgabe muss healthy lauten. Legen Sie dann das Skript /usr/local/sbin/sedv-lebenszeichen.sh an, etwa mit sudo nano /usr/local/sbin/sedv-lebenszeichen.sh. Text einfügen, mit Strg+O und Enter speichern, mit Strg+X beenden:

#!/bin/bash
# Lebenszeichen an Kuma außer Haus: Bleibt es aus, sind NAS, Kuma daheim, Strom oder Internet weg.
URL_DATEI=/etc/sedv-lebenszeichen.url
[ -r "$URL_DATEI" ] || exit 0
[ "$(docker inspect -f "{{.State.Health.Status}}" uptime-kuma 2>/dev/null)" = healthy ] || exit 0
printf "url = \"%s?status=up&msg=OK\"\n" "$(cat "$URL_DATEI")" | curl -4 -fsS -o /dev/null --max-time 20 --retry 2 --retry-delay 5 -K -

Was die Zeilen tun:

  • docker inspect: Das Skript sendet nur, wenn der Container uptime-kuma zu Hause healthy ist. Fällt Kuma daheim aus, bleibt das Lebenszeichen aus, und die Instanz außer Haus meldet das.
  • curl -K -: curl liest die URL aus der Standardeingabe statt aus der Befehlszeile. So taucht der Token nicht in der Prozessliste auf.
  • -4: erzwingt IPv4, falls IPv6 zu Hause nicht zuverlässig läuft.
  • --retry 2: bis zu zwei weitere Versuche, wenn die Verbindung abbricht oder der Server kurz überlastet ist.

Machen Sie das Skript ausführbar und testen Sie es einmal:

sudo chmod 700 /usr/local/sbin/sedv-lebenszeichen.sh
sudo /usr/local/sbin/sedv-lebenszeichen.sh; echo $?

Die Ausgabe 0 bedeutet Erfolg. Im Push-Monitor der Instanz außer Haus erscheint ein grüner Balken.

Verifizieren: Der Test endet mit 0, und der Push-Monitor wechselt auf Online.

Schritt 4: Der systemd-Timer

Ein Timer von systemd startet das Skript etwa jede Minute. Legen Sie wie oben mit sudo nano zwei Dateien an. /etc/systemd/system/sedv-lebenszeichen.service:

[Unit]
Description=Lebenszeichen der NAS an Kuma außer Haus
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/sedv-lebenszeichen.sh

Und /etc/systemd/system/sedv-lebenszeichen.timer:

[Unit]
Description=Lebenszeichen jede Minute

[Timer]
OnBootSec=2min
OnUnitActiveSec=1min

[Install]
WantedBy=timers.target

OnBootSec wartet nach dem Hochfahren zwei Minuten, damit Docker und Kuma Zeit zum Starten haben. OnUnitActiveSec wiederholt den Lauf etwa jede Minute. systemd darf den Start um bis zu eine Minute verschieben, bei uns lagen rund 65 Sekunden zwischen zwei Läufen. Bei 300 Sekunden Intervall in Kuma ist das unkritisch. Aktivieren Sie den Timer:

sudo systemctl daemon-reload
sudo systemctl enable --now sedv-lebenszeichen.timer
systemctl list-timers sedv-lebenszeichen.timer

Bei uns zeigt list-timers den nächsten Lauf in wenigen Sekunden und den letzten vor knapp einer Minute.

Verifizieren: systemctl is-enabled sedv-lebenszeichen.timer meldet enabled, und list-timers zeigt einen Lauf jede Minute.

Schritt 5: Den Alarm testen

Ein Lebenszeichen, dessen Ausbleiben nie getestet wurde, ist nur eine Hoffnung. Halten Sie den Timer für etwa 15 Minuten an:

sudo systemctl stop sedv-lebenszeichen.timer

Nach etwa 5 Minuten steht der Monitor auf Ausstehend, nach etwa 10 Minuten auf Offline. Dann kommt die Benachrichtigung. Starten Sie den Timer danach wieder mit sudo systemctl start sedv-lebenszeichen.timer.

Verifizieren: Die Benachrichtigung über den Ausfall kommt an, und nach dem Neustart des Timers folgt die Meldung, dass der Monitor wieder online ist.

Schritt 6: Bleibt das nach einem Update?

Bei uns haben Skript, URL-Datei und Timer das Update auf 1.21.0.0190 am 03.11.2026 überstanden, bei dem UGOS ein neues Systemabbild eingespielt hat. Prüfen Sie nach jedem größeren Update trotzdem, ob der Timer noch läuft:

systemctl is-enabled sedv-lebenszeichen.timer

Ein ausbleibendes Lebenszeichen nach einem Update meldet Ihnen ohnehin die Instanz außer Haus.

Verifizieren: Nach einem Update meldet is-enabled weiter enabled.

Was das Lebenszeichen abdeckt

Ein einziger Monitor außer Haus meldet bei uns mehrere ganz verschiedene Störungen. Es lohnt sich, sie einmal durchzugehen, damit Sie bei einer Meldung wissen, wo Sie suchen:

  • NAS aus oder abgestürzt: Der Timer läuft nicht mehr, das Lebenszeichen bleibt aus.
  • Stromausfall zu Hause: NAS und Router sind aus. Hängen NAS und Router an einer USV, kommt das Lebenszeichen weiter, bis die USV leer ist oder die NAS herunterfährt. Den Stromausfall selbst meldet dann die USV, siehe Teil 93.
  • Internet zu Hause weg: Die NAS läuft, erreicht die Instanz außer Haus aber nicht. curl gibt nach einem Fehlversuch auf, bei Zeitüberschreitungen nach bis zu drei Versuchen. Eine Minute später versucht es der Timer erneut.
  • Kuma daheim gestört: Der Container ist nicht healthy, das Skript sendet bewusst nichts.
  • Docker gestoppt: docker inspect findet keinen Container, auch dann bleibt das Lebenszeichen aus.

Was die Meldung nicht unterscheidet, ist der Grund. Erreichen Sie die Weboberfläche der NAS aus der Ferne, etwa per VPN, laufen NAS und Internet. Dann prüfen Sie mit sudo docker ps, ob Kuma healthy ist, und mit dem Journal aus Schritt 7, ob der Timer läuft.

Schritt 7: Das Journal im Blick behalten

Jeder Lauf des Timers schreibt bei uns drei Zeilen ins Journal: Starting, Deactivated successfully und Finished. Bei einem Lauf pro Minute sind das rund 4000 Zeilen am Tag. Auf der UGREEN ist das Journal auf 50 MB begrenzt, siehe Teil 96. Die letzten beiden Läufe sehen Sie mit:

sudo journalctl -u sedv-lebenszeichen.service -n 6 --no-pager

Ein fehlgeschlagener Lauf erscheint dort mit Failed und dem Fehlercode von curl. So sehen Sie auch auf der NAS selbst, ob das Senden klappt.

Verifizieren: Die letzten Einträge zeigen Finished ohne Fehlermeldung.

Typische Fehler

  • Test endet mit 22: curl hat einen HTTP-Fehler bekommen. Meist ist der Token falsch, die URL unvollständig oder der Push-Monitor pausiert.
  • Test endet mit 0, aber der Monitor bleibt rot: Das Skript hat bewusst nichts gesendet. Prüfen Sie mit sudo docker inspect -f '{{.State.Health.Status}}' uptime-kuma, ob healthy erscheint. Heißt Ihr Container anders, passen Sie den Namen im Skript an. Prüfen Sie außerdem, ob /etc/sedv-lebenszeichen.url existiert.
  • Fehlalarme nachts: Viele Anschlüsse trennen nachts kurz die Verbindung. Intervall oder Wiederholungen im Push-Monitor erhöhen.
  • Timer läuft nicht nach Neustart: enable vergessen. Mit sudo systemctl enable --now sedv-lebenszeichen.timer nachholen.
  • Token in der Shell-Historie: Die URL nie direkt in einen curl-Befehl tippen, sondern wie oben in die Datei schreiben.

Häufige Fragen

Warum nicht einfach die Instanz außer Haus die NAS anpingen lassen?

Dafür müsste die NAS aus dem Internet erreichbar sein. Beim Push meldet sich die NAS selbst nach außen, im Router muss kein Port offen sein.

Warum prüft das Skript Kuma daheim?

So deckt ein Monitor zwei Fälle ab: NAS weg und Kuma daheim weg. Fällt Kuma zu Hause aus, kommen dessen Meldungen nicht mehr, und das Lebenszeichen bleibt aus.

Wo bekomme ich eine zweite Kuma-Instanz?

Auf einem kleinen virtuellen Server, auf einem Rechner bei Familie oder Freunden oder bei einem Dienst, der Uptime Kuma anbietet. Wichtig ist nur, dass sie nicht am selben Strom und Internet hängt wie die NAS.

Warum sendet die NAS jede Minute, wenn Kuma 5 Minuten wartet?

So löst ein einzelner verlorener Aufruf keinen Alarm aus. Erst wenn mehrere Minuten hintereinander nichts ankommt, meldet Kuma einen Ausfall.

Kann ich mehrere Geräte so überwachen?

Ja. Legen Sie für jedes Gerät einen eigenen Push-Monitor mit eigenem Token an. Auf jedem Gerät läuft dann dasselbe Skript mit seiner eigenen URL-Datei. Die Prüfung auf Kuma daheim lassen Sie auf Geräten ohne Kuma weg.

Was kostet das an Leistung?

Praktisch nichts. Ein Lauf dauert unter einer Sekunde, curl überträgt nur einen kurzen Aufruf pro Minute.

Fazit

Ein Push-Monitor außer Haus und ein Timer mit einem kurzen Skript schließen die größte Lücke der Überwachung: den Ausfall der NAS selbst. Legen Sie die URL geschützt ab, testen Sie den Alarm einmal und prüfen Sie nach Updates, ob der Timer noch läuft. Zusammen mit Uptime Kuma auf der NAS und dem täglichen Platten-Check aus Teil 98 haben Sie dann eine Überwachung, die auch ihren eigenen Ausfall meldet.

Weiterführende Anleitungen und Quellen

UGREENUGREEN NASUptime KumaMonitoringsystemdPush