Checkmk auf dem Synology NAS installieren: professionelles IT-Monitoring
Checkmk Community Edition läuft als Docker-Container auf dem Synology NAS und verwandelt ihn in eine professionelle Monitoring-Zentrale für Server, Dienste und Netzwerkgeräte — der DACH-Standard im Mittelstand, jetzt auf eigener Hardware und ohne Lizenzkosten.

Wer im Homelab oder KMU-Netzwerk professionelles IT-Monitoring betreiben will, stößt früh auf Checkmk — entwickelt von der Checkmk GmbH in München, im deutschsprachigen Mittelstand weit verbreitet und in der Community Edition vollständig kostenlos. Im Unterschied zu Netdata, das auf Echtzeit-Metriken setzt, liefert Checkmk ein konfiguriertes Service-Monitoring mit Alerting-Regelwerk, Wartungsfenstern, Quittierungen und einer langfristigen RRD-Datenbank — der klassische Ansatz für den IT-Betrieb. Mit dem Synology NAS als Träger-Plattform brauchst du keine extra Hardware: Container Manager und eine compose.yaml reichen aus, um dein Netzwerk von Servern, Switches und Diensten dauerhaft im Blick zu behalten.
Voraussetzungen
- Synology NAS mit Intel- oder AMD-Prozessor (x86_64/amd64) — z. B. DS923+, DS1522+, DS720+, RS1221+. ARM-Modelle (DS220j, DS120j, DS218play) werden von der Community Edition nicht unterstützt.
- 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(für kleine Umgebungen bis 20 Hosts; für 50+ Hosts lieber 10–20 GB einplanen) - Stabile Netzwerkverbindung zwischen NAS und den zu überwachenden Hosts
- Webbrowser (Chrome, Firefox, Edge) für die Checkmk Web-UI
- SSH-Zugriff auf den NAS (optional, aber empfohlen für Log-Auslesen; Anleitung: SSH auf dem Synology NAS aktivieren und verbinden)
Schritt 1: Ordner anlegen und Ports prüfen
Bevor der Container startet, muss das Host-Verzeichnis für die persistenten Daten existieren. Container Manager legt es nicht automatisch an — fehlt der Ordner, verliert Checkmk nach einem Neustart alle Konfigurationsdaten.
Öffne die File Station und navigiere zu /volume1/docker/. Erstelle dort einen neuen Ordner namens checkmk (Kleinschreibung). Der vollständige Pfad lautet dann:
/volume1/docker/checkmkPrüfe anschließend, ob die Ports 8080 und 8000 auf deinem NAS noch frei sind. Port 8080 wird gelegentlich von DSM selbst oder anderen Containern belegt. Wähle in diesem Fall einen alternativen Port (z. B. 8083 oder 9080) und passe die compose.yaml im nächsten Schritt entsprechend an. Port 8000 wird von einzelnen anderen Diensten genutzt — vor dem Deployment prüfen lohnt sich.
Verifizieren: In der File Station ist der Ordner /volume1/docker/checkmk sichtbar und leer. Ein Klick auf seine Eigenschaften zeigt den korrekten Pfad.
Schritt 2: Container Manager — Projekt mit compose.yaml anlegen
Der empfohlene Weg für Checkmk auf der Synology ist ein Container Manager-Projekt mit einer compose.yaml — moderner und nachvollziehbarer als ein manuell konfigurierter Container. Wie du ein neues Projekt anlegst, zeigt die Anleitung Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren; hier die app-spezifischen Werte:
Öffne im Container Manager den Bereich Projekt und klicke auf Erstellen. Vergib den Projektnamen checkmk und wähle als Pfad /volume1/docker/checkmk. Füge 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-stoppedErsetze IhrSicheresPasswort durch ein eigenes, sicheres Passwort. Die folgende Tabelle erklärt die wichtigsten Parameter:
| Parameter | Wert / Beispiel | Bedeutung |
|---|---|---|
| image | checkmk/check-mk-community:2.5.0-latest | Offizielles Image ab Checkmk 2.5 (früher check-mk-raw). Tag 2.5.0-latest zeigt auf den aktuellen Patch des 2.5-Zweigs (derzeit 2.5.0p6). |
| Port 8080:5000 | HOST:CONTAINER | Checkmk Web-UI. Container-intern läuft sie auf Port 5000; von außen erreichst du sie über Port 8080 am NAS. |
| Port 8000:8000 | HOST:CONTAINER | Agent Receiver für TLS-basierte Agent-Controller-Registrierung (cmk-agent-ctl). Ohne diesen Port schlägt die Agenten-Enrollment fehl. |
| Volume /omd/sites | /volume1/docker/checkmk | Persistente Site-Daten (Konfiguration, RRD-Datenbank, Logs). Pflicht — ohne dieses Volume gehen alle Daten bei einem Container-Neustart verloren. |
| tmpfs | /opt/omd/sites/cmk/tmp | RAM-basiertes temporäres Dateisystem für Lock-Files und Sockets. Verbessert die Performance erheblich und schont das NAS-Volume. Pfad muss zur CMK_SITE_ID passen. |
| CMK_PASSWORD | IhrSicheresPasswort | Setzt das initiale cmkadmin-Passwort beim ersten Start. Empfohlen — ohne diese Variable wird ein Zufallspasswort generiert, das nur aus den Logs auslesbar ist. |
| CMK_SITE_ID | cmk | Name der Monitoring-Site. Bestimmt den URL-Pfad (/cmk/) und den tmpfs-Pfad. Änderungen erfordern Anpassung beider Pfade. |
| TZ | Europe/Berlin | Zeitzone für korrekte Alerting-Zeitstempel und Wartungsfenster. Pflicht für DACH-Betrieb. |
Wichtiger Unterschied zur verbreiteten Mariushosting-Anleitung: Das dort verwendete Image checkmk/check-mk-raw:latest ist das alte Image für Checkmk 2.4 und wird nicht mehr weiterentwickelt. Für Neuinstallationen ab 2.5 muss checkmk/check-mk-community verwendet werden (Werk #19391). Außerdem fehlt in vielen älteren Anleitungen Port 8000 — ohne ihn funktioniert die moderne Agent-Controller-Registrierung nicht.
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
Die DSM-eigene Firewall blockiert neue Ports standardmäßig. Ohne explizite Freigabe ist Checkmk von anderen Geräten im Netzwerk nicht erreichbar. Öffne Systemsteuerung > Sicherheit > Firewall und lege zwei neue 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.
Schritt 4: Checkmk Web-UI aufrufen und Login verifizieren
Nach dem ersten Container-Start dauert es ca. 30–60 Sekunden, bis Checkmk die Monitoring-Site vollständig initialisiert hat. Öffne dann im Browser:
http://NAS-IP:8080/cmk/Ersetze NAS-IP durch die IP-Adresse deines Synology NAS (z. B. 192.168.1.100). Du wirst auf die Checkmk-Login-Seite weitergeleitet. Melde dich an mit:
- Benutzername:
cmkadmin - Passwort: das in
CMK_PASSWORDgesetzte Passwort
Hast du kein CMK_PASSWORD gesetzt, lese das generierte Passwort aus den Container-Logs aus: Öffne im Container Manager den Container checkmk, wechsle zum Reiter Log und suche nach der Zeile:
Created admin user cmkadmin with password: XXXXXPer SSH geht das auch schneller:
docker logs checkmk 2>&1 | grep -i passwordNach dem Login empfiehlt sich ein sofortiger Passwort-Wechsel unter User > Change Password.
Verifizieren: Du siehst das Checkmk-Dashboard 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 installierten Agenten. Den Agenten lädst du direkt aus der Checkmk Web-UI herunter — so passt die Version automatisch zur laufenden Checkmk-Instanz.
1. Agenten-Paket herunterladen: Navigiere in der Web-UI zu Setup > Agents > Linux (für Linux-Hosts) oder Windows. Lade das passende Paket herunter:
- Debian/Ubuntu:
.deb-Paket - RHEL/CentOS:
.rpm-Paket - Windows:
.msi-Paket
2. Agenten auf dem Ziel-Host installieren (Beispiel Debian/Ubuntu):
sudo dpkg -i check-mk-agent_2.5.0p*_all.deb3. Agent Controller enrollen (moderne TLS-Methode, benötigt Port 8000 am NAS):
sudo cmk-agent-ctl register \
--hostname ZIEL-HOSTNAME \
--server NAS-IP:8000 \
--site cmk \
--user cmkadmin4. Host in Checkmk anlegen: Öffne Setup > Hosts > Add host. Gib Hostname und IP-Adresse ein. Klicke anschließend auf Save & run service discovery. Checkmk erkennt automatisch alle verfügbaren Services auf dem Host.
5. Services aktivieren und Änderungen übernehmen: Wähle alle gefundenen Services aus und klicke auf Monitor checked services. Danach erscheint oben rechts eine orange Schaltfläche mit der Anzahl ausstehender Änderungen — klicke auf Activate changes. Dieser Schritt ist zwingend notwendig; ohne ihn überwacht Checkmk den Host nicht, auch wenn er korrekt angelegt wurde.
Für reine Netzwerkgeräte (Switches, USV, Drucker) ohne Agenten-Support kannst du alternativ SNMP-Monitoring konfigurieren: 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). Alle Services sollten nach kurzer Zeit auf Status OK wechseln.
Schritt 6: Benachrichtigungsregel anlegen und testen
Checkmk verschickt Benachrichtigungen über ein konfigurierbares Regelwerk. E-Mail, ntfy (per Generic Webhook) und Slack werden out-of-the-box unterstützt.
E-Mail-Benachrichtigungen erfordern einen SMTP-Relay. Trage diesen beim Start als Umgebungsvariable ein oder ergänze ihn in der compose.yaml:
environment:
- MAIL_RELAY_HOST=mailrelay.domain.dentfy als Push-Kanal einbinden: Hast du ntfy bereits auf deiner Synology eingerichtet (ntfy auf dem Synology NAS installieren), lässt sich Checkmk einfach als Webhook-Absender konfigurieren:
- Öffne Setup > Notifications > Add rule
- Wähle als Notification method „Generic Webhook“
- Trage als Webhook-URL deine ntfy-Instanz ein, z. B.
https://ntfy.sh/mein-checkmk-kanaloder den eigenen ntfy-Server - Konfiguriere Bedingungen (z. B. nur bei Status CRIT oder DOWN)
- Speichern — die Regel ist sofort aktiv
Benachrichtigung testen: Navigiere zu einem überwachten Host, klicke auf einen Service und wähle Fake check results. Setze den Status auf CRIT und prüfe, ob die Benachrichtigung ankommt. Stelle danach den Status wieder auf OK zurück. Vergiss nicht: Nach jeder Änderung im Regelwerk muss Activate changes ausgeführt werden.
Verifizieren: Im Monitor > Event console oder in deinem ntfy-Kanal erscheint eine Testbenachrichtigung mit Hostname, Service-Name und Status. Die Benachrichtigungshistorie unter Monitor > Notifications zeigt den Eintrag mit Status „Delivered“.
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. - Falsches Image (Checkmk 2.4 statt 2.5): Wer
checkmk/check-mk-raw:latestverwendet, erhält Checkmk 2.4. Lösung: Image in der compose.yaml aufcheckmk/check-mk-community:2.5.0-lateständern und Stack 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 nicht erreichbar: DSM-Firewall blockiert Port 8080. Lösung: Unter Systemsteuerung > Sicherheit > Firewall eine Regel für TCP/8080 anlegen.
- cmk-agent-ctl enroll: „Connection refused“ auf Port 8000: Port 8000 ist nicht gemappt oder durch die DSM-Firewall blockiert. Lösung: Port 8000:8000 in der compose.yaml prüfen und Firewall-Regel für TCP/8000 anlegen.
- Host im Monitoring, aber keine Checks / Status „PEND“: „Activate Changes“ wurde nicht ausgeführt. Lösung: Orange Schaltfläche oben rechts klicken und Änderungen aktivieren.
- Port 8080 bereits belegt: Ein anderer Dienst oder DSM selbst nutzt Port 8080. Lösung: In der compose.yaml z. B.
8083:5000eintragen und Firewall-Regel entsprechend anpassen. - Passwort unbekannt nach erstem Start:
CMK_PASSWORDwurde nicht gesetzt. Lösung: Im Container Manager unter dem Reiter „Log“ nach „Created admin user cmkadmin with password:“ suchen. Per SSH:docker logs checkmk 2>&1 | grep -i password. Dieser Eintrag ist nur beim ersten Start vorhanden. - ARM-NAS (DS220j, DS120j): Checkmk Community Edition unterstützt kein ARM64. Das Image lässt sich nicht starten. 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 — ideal für schnelle Diagnosen ohne Konfigurationsaufwand. Checkmk ist ein konfiguriertes Service-Monitoring mit Alerting-Regelwerk, Wartungsfenstern, Quittierungen und dauerhafter RRD-Datenbank. Checkmk erkennt, ob ein Dienst ausgefallen ist, wann er ausgefallen ist und wer informiert wurde — das ist der klassische DACH-Mittelstands-Standard für den IT-Betrieb. Beide Werkzeuge ergänzen sich gut.
Was ist der Unterschied zwischen Checkmk und Zabbix?
Beide sind professionelle Open-Source-Monitoring-Plattformen mit ähnlichem Funktionsumfang. Checkmk stammt aus Deutschland (DACH-Referenz), hat eine besonders einfache Agenten-Einrichtung und eine flache Lernkurve. Zabbix ist internationaler verbreitet und bietet mehr Flexibilität bei komplexen Trigger-Bedingungen. Welche Plattform besser passt, zeigt ein direkter Vergleich in der 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 existiert noch für 2.4 und älter, wird aber nicht mehr weiterentwickelt. Für Neuinstallationen immer das neue Image verwenden.
Wie lese ich das initiale cmkadmin-Passwort aus, wenn CMK_PASSWORD nicht gesetzt wurde?
Im Container Manager den Container checkmk auswählen und den Reiter Log öffnen. Nach der Zeile „Created admin user cmkadmin with password: XXXXX“ suchen. Per SSH: docker logs checkmk 2>&1 | grep -i password. Dieser Eintrag ist nur beim ersten Start vorhanden — daher empfehlen wir, CMK_PASSWORD von Anfang an zu setzen.
Wie führe ich ein Upgrade auf eine neue Checkmk-Version durch?
In der compose.yaml den Image-Tag auf den neuen Versions-Tag ändern (z. B. 2.6.0-latest, sobald verfügbar). Im Container Manager den Stack aktualisieren: Image neu herunterladen und Container neu erstellen. Checkmk führt beim ersten Start nach dem Update automatisch ein In-Place-Upgrade der Site-Daten durch. Wichtig: Vorher ein Backup des Ordners /volume1/docker/checkmk erstellen — z. B. via Hyper Backup.
Kann ich SNMP-Geräte ohne Agenten überwachen?
Ja. Für Switches, Drucker, USV und andere Geräte ohne Agenten-Support wähle beim Anlegen des Hosts unter Monitoring agents die Option SNMP. Trage den SNMP-Community-String (Standard: public) ein. Checkmk entdeckt dann automatisch die verfügbaren SNMP-Services des Geräts.
Wie viel Speicherplatz benötigt Checkmk langfristig?
Als Faustregel: Für bis zu 20 Hosts reichen 5 GB, für 50+ Hosts solltest du 10–20 GB einplanen. Die RRD-Datenbanken wachsen mit der Anzahl der Services und der konfigurierten Aufbewahrungsdauer. Überwache den Füllstand des NAS-Volumes regelmäßig.
Fazit
Checkmk auf dem Synology NAS ist eine überzeugende Kombination: Du bekommst einen professionellen DACH-Monitoring-Standard ohne Lizenzkosten, DSGVO-konform auf eigener Hardware, mit wenigen Handgriffen in Betrieb. Der entscheidende Vorteil gegenüber reinen Echtzeit-Tools wie Netdata ist das strukturierte Alerting: Checkmk merkt sich, wann ein Dienst ausgefallen ist, eskaliert nach Regeln und quittiert Probleme — das ist der Unterschied zwischen „ich sehe was auf einem Dashboard“ und „ich werde zuverlässig alarmiert, wenn es darauf ankommt“. Die compose.yaml aus dieser Anleitung entspricht der offiziellen Checkmk-Dokumentation und korrigiert die gängigen Fehlerquellen aus verbreiteten Guides: falsches Image, fehlender Port 8000 und fehlendes 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) — Docker Hub: checkmk/check-mk-community