Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Monitoring 11.06.2026 · 11 min Lesezeit

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.

Checkmk auf dem Synology NAS installieren und professionelles IT Monitoring für Server, Netzwerk und Dienste einrichten

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

  1. 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.
  2. DSM 7.2 oder neuer mit installiertem Container Manager (kostenlos im Synology Package Center)
  3. Mindestens 2 GB freier RAM auf dem NAS
  4. 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)
  5. Stabile Netzwerkverbindung zwischen NAS und den zu überwachenden Hosts
  6. Webbrowser (Chrome, Firefox, Edge) für die Checkmk Web-UI
  7. 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/checkmk

Prü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-stopped

Ersetze IhrSicheresPasswort durch ein eigenes, sicheres Passwort. Die folgende Tabelle erklärt die wichtigsten Parameter:

ParameterWert / BeispielBedeutung
imagecheckmk/check-mk-community:2.5.0-latestOffizielles 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:5000HOST:CONTAINERCheckmk Web-UI. Container-intern läuft sie auf Port 5000; von außen erreichst du sie über Port 8080 am NAS.
Port 8000:8000HOST:CONTAINERAgent 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/checkmkPersistente Site-Daten (Konfiguration, RRD-Datenbank, Logs). Pflicht — ohne dieses Volume gehen alle Daten bei einem Container-Neustart verloren.
tmpfs/opt/omd/sites/cmk/tmpRAM-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_PASSWORDIhrSicheresPasswortSetzt das initiale cmkadmin-Passwort beim ersten Start. Empfohlen — ohne diese Variable wird ein Zufallspasswort generiert, das nur aus den Logs auslesbar ist.
CMK_SITE_IDcmkName der Monitoring-Site. Bestimmt den URL-Pfad (/cmk/) und den tmpfs-Pfad. Änderungen erfordern Anpassung beider Pfade.
TZEurope/BerlinZeitzone 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:

  1. Benutzername: cmkadmin
  2. Passwort: das in CMK_PASSWORD gesetzte 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: XXXXX

Per SSH geht das auch schneller:

docker logs checkmk 2>&1 | grep -i password

Nach 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:

  1. Debian/Ubuntu: .deb-Paket
  2. RHEL/CentOS: .rpm-Paket
  3. Windows: .msi-Paket

2. Agenten auf dem Ziel-Host installieren (Beispiel Debian/Ubuntu):

sudo dpkg -i check-mk-agent_2.5.0p*_all.deb

3. 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 cmkadmin

4. 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.de

ntfy 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:

  1. Öffne Setup > Notifications > Add rule
  2. Wähle als Notification method „Generic Webhook“
  3. Trage als Webhook-URL deine ntfy-Instanz ein, z. B. https://ntfy.sh/mein-checkmk-kanal oder den eigenen ntfy-Server
  4. Konfiguriere Bedingungen (z. B. nur bei Status CRIT oder DOWN)
  5. 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

  1. Container startet nicht / „No such file or directory“: Das Host-Verzeichnis /volume1/docker/checkmk existiert nicht. Lösung: In der File Station den Ordner manuell erstellen, dann Container neu starten.
  2. Falsches Image (Checkmk 2.4 statt 2.5): Wer checkmk/check-mk-raw:latest verwendet, erhält Checkmk 2.4. Lösung: Image in der compose.yaml auf checkmk/check-mk-community:2.5.0-latest ändern und Stack neu erstellen.
  3. tmpfs-Pfad passt nicht zur Site-ID: Wenn CMK_SITE_ID=monitoring gesetzt, aber der tmpfs-Pfad noch /opt/omd/sites/cmk/tmp lautet, startet der Container fehlerhaft. Lösung: tmpfs-Pfad auf /opt/omd/sites/monitoring/tmp anpassen.
  4. Web-UI nicht erreichbar: DSM-Firewall blockiert Port 8080. Lösung: Unter Systemsteuerung > Sicherheit > Firewall eine Regel für TCP/8080 anlegen.
  5. 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.
  6. 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.
  7. Port 8080 bereits belegt: Ein anderer Dienst oder DSM selbst nutzt Port 8080. Lösung: In der compose.yaml z. B. 8083:5000 eintragen und Firewall-Regel entsprechend anpassen.
  8. Passwort unbekannt nach erstem Start: CMK_PASSWORD wurde 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.
  9. 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

  1. ntfy auf dem Synology NAS installieren: Push-Benachrichtigungen für Server und Skripte
  2. Zabbix-Server aufsetzen und ersten Host überwachen
  3. Container Manager auf dem Synology NAS: Docker-Compose-Projekt anlegen, starten und aktualisieren
  4. DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben

Offizielle Quellen: Checkmk Docker-InstallationsdokumentationWerk #19391: Edition Renaming (Raw → Community)Docker Hub: checkmk/check-mk-community