Checkmk auf dem Synology NAS installieren: professionelles IT-Monitoring
Checkmk Community Edition läuft als Docker-Container auf einem Synology NAS mit x86-Prozessor und überwacht Server, Dienste und Netzwerkgeräte. Die Anleitung zeigt compose.yaml, Agenten-Registrierung und Benachrichtigungen, auch per ntfy.
Geprüft am 29.09.2026 · für checkmk 2.5.0p14
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

Checkmk stammt von der Checkmk GmbH in München und ist im deutschsprachigen Mittelstand verbreitet; die Community Edition ist Open Source. Checkmk liefert ein konfiguriertes Service-Monitoring mit Regelwerk für Benachrichtigungen, Wartungsfenstern, Quittierungen und langfristiger RRD-Datenbank (Round-Robin-Datenbank für Messwerte). Auf einem Synology NAS brauchen Sie dafür keine zusätzliche Hardware: Container Manager und eine compose.yaml genügen, um Server, Switches und Dienste im Blick zu behalten.
Voraussetzungen
- Synology NAS mit Intel- oder AMD-Prozessor (x86_64/amd64), z. B. DS923+, DS1522+, DS720+, RS1221+. Das Image gibt es nur für amd64; ARM-Modelle scheiden aus.
- DSM 7.2 oder neuer mit installiertem Container Manager (kostenlos im Synology Package Center)
- Mindestens 2 GB freier RAM auf dem NAS
- Mindestens 5 GB freier Speicherplatz auf dem NAS-Volume für
/volume1/docker/checkmk(bis 20 Hosts; ab 50 Hosts 10 bis 20 GB) - Netzwerkverbindung vom NAS zu den überwachten Hosts und von dort zu Port 8000 des NAS
- SSH-Zugriff auf das NAS (nur für das ntfy-Skript in Schritt 6; Anleitung: SSH auf dem Synology NAS aktivieren und verbinden)
Schritt 1: Ordner anlegen und Ports prüfen
Container Manager legt das Datenverzeichnis nicht selbst an; fehlt es, startet der Container nicht.
Öffnen Sie die File Station, wechseln Sie zu /volume1/docker/ und erstellen Sie dort den Ordner checkmk (Kleinschreibung). Der vollständige Pfad lautet:
/volume1/docker/checkmkPrüfen Sie anschließend, ob die Ports 8080 und 8000 auf dem NAS frei sind. Beide werden gelegentlich von anderen Containern oder Paketen belegt. Wählen Sie dann für die Web-UI einen anderen Host-Port (z. B. 8083) und passen Sie die compose.yaml im nächsten Schritt an.
Verifizieren: In der File Station ist der Ordner /volume1/docker/checkmk sichtbar und leer.
Schritt 2: Container Manager — Projekt mit compose.yaml anlegen
Grundlagen zu Projekten zeigt die Anleitung Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren. Öffnen Sie im Container Manager den Bereich Projekt und klicken Sie auf Erstellen. Vergeben Sie den Projektnamen checkmk, wählen Sie als Pfad /volume1/docker/checkmk und fügen Sie folgenden Inhalt als compose.yaml ein:
services:
checkmk:
image: checkmk/check-mk-community:2.5.0-latest
container_name: checkmk
hostname: checkmk
environment:
- CMK_PASSWORD=IhrSicheresPasswort
- CMK_SITE_ID=cmk
- TZ=Europe/Berlin
volumes:
- /volume1/docker/checkmk:/omd/sites
- /etc/localtime:/etc/localtime:ro
tmpfs:
- /opt/omd/sites/cmk/tmp:uid=1000,gid=1000
ports:
- 8080:5000
- 8000:8000
restart: unless-stoppedErsetzen Sie IhrSicheresPasswort durch ein eigenes, starkes Passwort. Die Tabelle erklärt die wichtigsten Parameter:
| Parameter | Wert / Beispiel | Bedeutung |
|---|---|---|
| image | checkmk/check-mk-community:2.5.0-latest | Offizielles Image ab 2.5 (früher check-mk-raw). 2.5.0-latest = aktueller Patch (Stand 09/2026: 2.5.0p14); feste Version: 2.5.0p14. |
| Port 8080:5000 | HOST:CONTAINER | Web-UI; intern Port 5000, am NAS Port 8080. |
| Port 8000:8000 | HOST:CONTAINER | Agent Receiver für die TLS-Registrierung per cmk-agent-ctl. |
| Volume /omd/sites | /volume1/docker/checkmk | Persistente Site-Daten (Konfiguration, RRD-Datenbank, Logs). Pflicht, sonst gehen die Daten beim Neuerstellen des Containers verloren. |
| tmpfs | /opt/omd/sites/cmk/tmp | Temporäres Dateisystem im RAM; schont das NAS-Volume. Pfad muss zur CMK_SITE_ID passen. |
| CMK_PASSWORD | IhrSicheresPasswort | Setzt das initiale cmkadmin-Passwort beim ersten Start. Ohne diese Variable erzeugt Checkmk ein Zufallspasswort, das nur in den Logs steht. |
| CMK_SITE_ID | cmk | Name der Site; bestimmt URL-Pfad (/cmk/) und tmpfs-Pfad. |
| TZ | Europe/Berlin | Zeitzone für korrekte Zeitstempel und Wartungsfenster; ohne Angabe gilt UTC. |
Achtung bei älteren Anleitungen: Das oft genannte Image checkmk/check-mk-raw:latest gehört zu Checkmk 2.4 und älter. Ab 2.5 heißt es checkmk/check-mk-community (Werk #19391). Außerdem fehlt dort häufig Port 8000, ohne den die Registrierung des Agent Controllers nicht funktioniert.
Verifizieren: Der Container Manager zeigt das Projekt checkmk mit Status „Wird ausgeführt“ an. Unter dem Reiter Container erscheint der Container checkmk mit grünem Status-Symbol.
Schritt 3: DSM-Firewall für die Checkmk-Ports freigeben
Ist die DSM-Firewall aktiv und blockiert sie nicht freigegebene Ports, erreichen andere Geräte Checkmk nicht. Öffnen Sie Systemsteuerung > Sicherheit > Firewall und legen Sie zwei Regeln an: eine für Port 8080 (TCP) und eine für Port 8000 (TCP). Die genauen Schritte erklärt die Anleitung DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben.
Verifizieren: In der Firewall-Übersicht erscheinen beide Ports (8080, 8000) als erlaubte eingehende TCP-Verbindungen. Ist die Firewall deaktiviert, entfällt dieser Schritt.
Schritt 4: Checkmk Web-UI aufrufen und Login verifizieren
Nach dem ersten Start braucht Checkmk etwa 30 bis 60 Sekunden, um die Monitoring-Site anzulegen. Öffnen Sie dann im Browser:
http://NAS-IP:8080/cmk/Ersetzen Sie NAS-IP durch die IP-Adresse Ihres NAS (z. B. 192.168.1.100). Melden Sie sich auf der Login-Seite an mit:
- Benutzername:
cmkadmin - Passwort: das in
CMK_PASSWORDgesetzte Passwort
Ohne CMK_PASSWORD steht das erzeugte Passwort im Container-Log (Container Manager, Container checkmk, Reiter Log) in der Zeile:
The admin user for the web applications is cmkadmin with password: XXXXXPer SSH:
docker logs checkmk 2>&1 | grep -i passwordÄndern Sie das Passwort nach dem ersten Login unter User > Change password.
Verifizieren: Das Checkmk-Dashboard erscheint mit der Übersicht „0 Hosts, 0 Services“. In der oberen rechten Ecke wird der Benutzername cmkadmin angezeigt. Die Versionsangabe in der Fußzeile zeigt 2.5.0p... (Community Edition).
Schritt 5: Ersten Host hinzufügen und Agenten installieren
Checkmk überwacht Hosts in der Regel über einen Agenten. Laden Sie ihn aus der Web-UI herunter, dann passt die Version zur laufenden Instanz. Die Registrierung gelingt nur für bereits angelegte Hosts mit exakt gleichem Namen; legen Sie den Host daher zuerst an.
1. Host in Checkmk anlegen: Öffnen Sie Setup > Hosts > Add host, geben Sie Hostname und IP-Adresse ein und speichern Sie. Klicken Sie auf Activate changes.
2. Agenten-Paket herunterladen: In der Community Edition finden Sie die Pakete unter Setup > Agents > Linux bzw. Windows:
- Debian/Ubuntu:
.deb-Paket - RHEL/CentOS:
.rpm-Paket - Windows:
.msi-Paket
3. Agenten auf dem Ziel-Host installieren (Beispiel Debian/Ubuntu):
sudo dpkg -i check-mk-agent_2.5.0p*_all.deb4. Agent Controller registrieren (TLS-verschlüsselt, benötigt Port 8000 am NAS; ZIEL-HOSTNAME exakt wie in Checkmk angelegt):
sudo cmk-agent-ctl register \
--hostname ZIEL-HOSTNAME \
--server NAS-IP:8000 \
--site cmk \
--user cmkadmin5. Services übernehmen: Öffnen Sie den Host unter Setup > Hosts, starten Sie die Service-Erkennung (Run service discovery) und klicken Sie auf Accept all. Danach Activate changes; ohne Aktivierung überwacht Checkmk den Host nicht.
Netzwerkgeräte ohne Agenten (Switches, USV, Drucker) überwachen Sie per SNMP: Beim Anlegen des Hosts unter Monitoring agents die Option SNMP wählen und den Community-String eintragen.
Verifizieren: Im Monitor > All hosts-View erscheint der neue Host mit grünem Status. Die Service-Liste zeigt erkannte Checks (CPU, Memory, Disk, Netzwerk-Interfaces). Nach der Registrierung kann es einige Minuten dauern, bis alle Services auf OK stehen. Auf dem Ziel-Host zeigt cmk-agent-ctl status die Verbindung NAS-IP:8000/cmk.
Schritt 6: Benachrichtigungsregel anlegen und testen
Checkmk verschickt Benachrichtigungen über ein Regelwerk. Mitgeliefert sind unter anderem E-Mail, Slack, Microsoft Teams, Mattermost und Pushover; ntfy binden Sie über ein eigenes Skript an.
E-Mail-Benachrichtigungen benötigen einen SMTP-Relay, der ohne Anmeldung annimmt (Smarthost). Ergänzen Sie ihn in der compose.yaml und erstellen Sie das Projekt neu:
environment:
- MAIL_RELAY_HOST=mailrelay.domain.dentfy als Push-Kanal einbinden: Eine Methode „Webhook“ bringt Checkmk nicht mit. Eigene Skripte legen Sie laut Dokumentation im Site-Verzeichnis ~/local/share/check_mk/notifications ab; auf dem NAS entspricht das /volume1/docker/checkmk/cmk/local/share/check_mk/notifications. Mit eingerichtetem ntfy (ntfy auf dem Synology NAS installieren) legen Sie dort die Datei ntfy an:
#!/usr/bin/env python3
# ntfy
import os, urllib.request
e = os.environ
msg = "%s %s: %s" % (e.get("NOTIFY_HOSTNAME", ""), e.get("NOTIFY_SERVICEDESC", ""),
e.get("NOTIFY_SERVICESTATE") or e.get("NOTIFY_HOSTSTATE", ""))
urllib.request.urlopen("https://ntfy.example.de/checkmk", data=msg.encode(), timeout=10)Die zweite Zeile ist der Name, unter dem Checkmk das Skript anzeigt. Ersetzen Sie die ntfy-URL durch Ihr Topic. Übergeben Sie die Datei per SSH dem Site-Benutzer und machen Sie sie ausführbar: docker exec checkmk sh -c 'f=/omd/sites/cmk/local/share/check_mk/notifications/ntfy; chown cmk:cmk $f; chmod 755 $f'. Dann:
- Öffnen Sie Setup > Events > Notifications > Add notification rule
- Wählen Sie als Notification method das Skript „ntfy“
- Legen Sie Bedingungen fest (z. B. nur CRIT oder DOWN)
- Speichern Sie und aktivieren Sie die Änderungen
Benachrichtigung testen: Wählen Sie bei einem überwachten Service den Befehl Fake check results, setzen Sie den Status auf CRIT und prüfen Sie den Eingang. Setzen Sie ihn danach auf OK zurück. Alternativ simuliert Setup > Events > Test notifications eine Benachrichtigung und zeigt, welche Regeln greifen.
Verifizieren: Im ntfy-Kanal bzw. Postfach erscheint die Meldung mit Hostname, Service und Status. Auf der Detailseite des Service listet Service > Service notifications den Versand auf.
Troubleshooting / Typische Fehler
- Container startet nicht, „No such file or directory“: Das Host-Verzeichnis
/volume1/docker/checkmkexistiert nicht. Lösung: In der File Station den Ordner manuell erstellen, dann Container neu starten. - Checkmk 2.4 statt 2.5: Image
check-mk-raweingetragen. Lösung:checkmk/check-mk-community:2.5.0-latesteintragen, Projekt neu erstellen. - tmpfs-Pfad passt nicht zur Site-ID: Wenn
CMK_SITE_ID=monitoringgesetzt, aber der tmpfs-Pfad noch/opt/omd/sites/cmk/tmplautet, startet der Container fehlerhaft. Lösung: tmpfs-Pfad auf/opt/omd/sites/monitoring/tmpanpassen. - Web-UI oder Port 8000 nicht erreichbar, „Connection refused“: Port nicht gemappt, von einem anderen Dienst belegt oder durch die DSM-Firewall blockiert. Lösung: Mapping prüfen, ggf. anderen Host-Port wählen (z. B.
8083:5000), Firewall-Regel anlegen. - Registrierung scheitert, Host unbekannt: Der Host ist noch nicht angelegt und aktiviert, oder
--hostnameweicht vom Namen in Checkmk ab. Lösung: Host anlegen, Änderungen aktivieren, identischen Namen verwenden. - Host im Monitoring, aber keine Checks, Status „PEND“: „Activate changes“ fehlt. Lösung: Schaltfläche oben rechts klicken und Änderungen aktivieren.
- Passwort unbekannt nach erstem Start:
CMK_PASSWORDfehlte. Lösung: siehe Schritt 4 und die Häufigen Fragen. - ARM-NAS (DS220j, DS120j): Das Checkmk-Image gibt es nur für amd64 und startet dort nicht. Alternative: Netdata für Echtzeit-Metriken (unterstützt ARM).
Häufige Fragen
Was ist der Unterschied zwischen Checkmk und Netdata auf dem Synology NAS?
Netdata liefert Echtzeit-Metriken mit interaktiven Graphen für schnelle Diagnosen ohne Konfigurationsaufwand. Checkmk dokumentiert als konfiguriertes Service-Monitoring, ob und wann ein Dienst ausfiel und wer informiert wurde. Beide ergänzen sich.
Was ist der Unterschied zwischen Checkmk und Zabbix?
Beide decken einen ähnlichen Funktionsumfang ab. Checkmk stammt aus Deutschland, erkennt Services weitgehend automatisch und ist schnell eingerichtet. Zabbix ist international verbreiteter und flexibler bei komplexen Trigger-Bedingungen. Den Einstieg in Zabbix zeigt die Zabbix-Anleitung.
Warum nicht checkmk/check-mk-raw:latest verwenden?
Mit Checkmk 2.5 wurde die „Raw Edition“ offiziell in „Community Edition“ umbenannt (Werk #19391). Das neue Image heißt checkmk/check-mk-community. Das alte Image check-mk-raw liefert nur 2.4 und älter.
Wie lese ich das initiale cmkadmin-Passwort aus, wenn CMK_PASSWORD nicht gesetzt wurde?
Im Container-Log (Container Manager, Reiter Log, oder docker logs checkmk 2>&1 | grep -i password) steht es nur beim ersten Start. Ist es verloren, setzen Sie es per SSH neu: docker exec -it -u cmk checkmk cmk-passwd cmkadmin.
Wie führe ich ein Upgrade auf eine neue Checkmk-Version durch?
Sichern Sie zuerst den Ordner /volume1/docker/checkmk, z. B. mit Hyper Backup. Tragen Sie dann den neuen Tag in die compose.yaml ein, stoppen Sie das Projekt und erstellen Sie es mit dem neuen Image neu. Beim Start aktualisiert Checkmk die Site-Daten automatisch. Beachten Sie die Update-Matrix: Große Versionssprünge müssen über Zwischenversionen erfolgen.
Kann ich SNMP-Geräte ohne Agenten überwachen?
Ja. Für Switches, Drucker, USV und andere Geräte ohne Agenten wählen Sie beim Anlegen des Hosts unter Monitoring agents die Option SNMP. Tragen Sie den SNMP-Community-String ein; ändern Sie auf den Geräten den Standardwert public. Checkmk entdeckt dann automatisch die verfügbaren SNMP-Services des Geräts.
Wie viel Speicherplatz benötigt Checkmk langfristig?
Faustregel: bis 20 Hosts 5 GB, ab 50 Hosts 10 bis 20 GB. Der Bedarf wächst mit Zahl der Services und Aufbewahrungsdauer.
Fazit
Mit Checkmk auf dem Synology NAS betreiben Sie ein vollwertiges Service-Monitoring auf eigener Hardware, mit Regelwerk, Quittierungen und Historie. Die Grenze setzt das NAS selbst: Fällt es aus, fällt auch die Überwachung aus. Die compose.yaml folgt der offiziellen Checkmk-Dokumentation, einschließlich Port 8000 und CMK_PASSWORD.
Weiterführende Anleitungen und Quellen
- ntfy auf dem Synology NAS installieren: Push-Benachrichtigungen für Server und Skripte
- Zabbix-Server aufsetzen und ersten Host überwachen
- Container Manager auf dem Synology NAS: Docker-Compose-Projekt anlegen, starten und aktualisieren
- DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben
Offizielle Quellen: Checkmk Docker-Installationsdokumentation — Werk #19391: Edition Renaming (Raw → Community) — Linux-Agent und Registrierung — Benachrichtigungen und eigene Skripte — Docker Hub: checkmk/check-mk-community


