Nach der Installation ist Checkmk zwar erreichbar – produktiv eingerichtet ist das Monitoring damit aber noch lange nicht. In Teil 4 räume ich zuerst die Checkmk-Basis auf, sichere den Admin-Zugang ab und binde anschließend meinen ersten Proxmox-Node über API und Linux-Agent an. Dabei zeigt sich direkt, warum ein Monitoring-Aufbau erst im echten Betrieb sinnvoll dimensioniert werden kann.
Ausgangslage
Checkmk läuft als unprivilegierter LXC auf Proxmox. Die Site heißt monitoring. Nach dem tmpfs-Fix aus Teil 3 lief die Site sauber, zunächst mit 2 CPU-Cores und 2 GB RAM. Genau mit dieser bewusst kleinen Ausgangskonfiguration ging es weiter.
cat ~/checkmk.creds anzeigen.1. Apache-Default-Seite aufräumen
Beim Aufruf der reinen HTTP-Adresse ohne /monitoring erschien zunächst die Debian-Apache-Default-Seite. Technisch kein Fehler, für eine Monitoring-Appliance aber unnötig.

Die Default-Site wurde deshalb so angepasst, dass nur die Root-URL auf /monitoring/ umleitet. Einen externen Hostnamen habe ich bewusst nicht fest verdrahtet, weil der spätere Zugriff über einen separaten nginx-Reverse-Proxy erfolgen soll.
<VirtualHost *:80>n RedirectMatch 302 ^/$ /monitoring/n ErrorLog ${APACHE_LOG_DIR}/error.logn CustomLog ${APACHE_LOG_DIR}/access.log combinedn</VirtualHost>
Danach: apache2ctl configtest und systemctl reload apache2.
2. Checkmk-Grundeinstellungen prüfen – nicht alles anfassen

Unter Setup → General → Global settings habe ich die grundlegenden Bereiche geprüft. Die wichtigste Erkenntnis: Fast alle Defaults können zunächst bleiben. Service Discovery, Check-Ausführung, Benachrichtigungen und UI-Einstellungen werden erst dann angepasst, wenn ein konkreter Grund besteht.

Benachrichtigungen habe ich bewusst noch nicht scharf geschaltet. Erst sollen Hosts und Services stabil laufen, sonst erzeugt der Aufbau nur unnötigen Alarm-Spam.
3. Persönlichen Admin und 2FA einrichten
Statt dauerhaft mit dem initialen cmkadmin-Account zu arbeiten, habe ich einen persönlichen Administrator angelegt. Der generierte Admin bleibt vorerst als Break-Glass-Zugang bestehen.
Danach wurde für den persönlichen Admin die Zwei-Faktor-Authentifizierung eingerichtet und der Login getestet. Backup-Codes gehören in einen Passwortmanager und nicht auf den Checkmk-Server.

4. Eine schlanke Host-Struktur
Bevor der erste Host angelegt wurde, habe ich eine einfache Ordnerstruktur erstellt. Ordner sind in Checkmk nicht dasselbe wie Host-Gruppen: Sie dienen der organisatorischen Struktur und können Einstellungen und Regeln vererben.

Für den aktuellen Aufbau reichen fünf Bereiche: Network, Servers, Services, SmartHome und Virtualization. Einen eigenen Storage-Ordner gibt es nicht – ein einzelner Unraid-Server landet unter Servers.
5. Proxmox: API-Zugang mit minimalen Rechten
Für die Proxmox-API wurde ein eigener Benutzer checkmk@pve angelegt. Er bekommt keine Admin-Rechte, sondern ausschließlich die Rolle PVEAuditor auf Pfad / mit aktivierter Vererbung.

In Checkmk folgt anschließend unter Setup → Agents → VM, cloud, container → Proxmox VE eine Regel für den Special Agent. Die Regel wird explizit auf den Proxmox-Host beschränkt. Da auf Proxmox aktuell noch kein von Checkmk vertrauenswürdiges Zertifikat eingesetzt wird, ist die Zertifikatsvalidierung für diesen ersten Aufbau deaktiviert. Das ist eine Übergangslösung; langfristig soll die CA sauber vertraut werden.

Der erste Test war erfolgreich: Die Proxmox-API lieferte Node-Info, Memory- und CPU-Allocation, HA-/Quorum-Status, Storage-Informationen, Replication und Uptime.
6. Zusätzlich den normalen Checkmk-Linux-Agent installieren
Die Proxmox-API ersetzt nicht das Betriebssystem-Monitoring. Deshalb wurde zusätzlich das aktuelle Debian-Paket des Checkmk-Agenten auf dem Proxmox-Node installiert und der Agent Controller gegen die Checkmk-Site registriert.
apt install ./check-mk-agent_2.5.0p11-1_all.debnncmk-agent-ctl register \n --hostname <PROXMOX-HOST> \n --server <CHECKMK-SERVER> \n --site monitoring \n --user agent_registration
Für agent_registration wird das Automation Secret verwendet. Nach erfolgreicher Registrierung meldete Checkmk sowohl den normalen Agenten als auch den Proxmox-Special-Agent als erfolgreich.
7. Die erste große Service Discovery – und direkt ein OOM
Mit API und Linux-Agent kamen auf dem ersten Proxmox-Node sofort mehr als 100 erkannte Services zusammen: CPU, RAM, Filesysteme, ZFS, Corosync, Temperaturen, Interfaces, systemd-Dienste und diverse Proxmox-spezifische Checks.
Genau dabei zeigte sich die erste echte Grenze der ursprünglichen Dimensionierung: Die komplette Checkmk-Site stoppte.

Im Journal war die Ursache eindeutig:
omd.service: A process of this unit has been killed by the OOM killer.nomd.service: Failed with result 'oom-kill'.nomd.service: ... 1.9G memory peak.
Die 2 GB RAM waren im Leerlauf ausreichend, aber für den ersten größeren Discovery-Lauf zu knapp. Der LXC wurde deshalb auf 4 GB RAM erhöht. Danach standen rund 2,8 GB frei zur Verfügung und die Site lief wieder stabil.
8. Nicht jeden erkannten Service blind übernehmen
Der Linux-Agent findet auf einem Proxmox-Host sehr viel. Sinnvoll sind unter anderem CPU, Load, RAM, Disk-I/O, reale Filesysteme, ZFS-/Storage-Status, Corosync, NTP, Temperaturen, systemd-Zusammenfassung und wichtige Proxmox-Prozesse.
Weniger sinnvoll sind zahlreiche dynamische virtuelle Interfaces wie tap*, veth*, fwbr*, fwpr* oder ähnliche VM-/Firewall-Interfaces. Auch alte Storage-Strukturen sollen später über Discovery-Regeln sauber ausgeblendet werden, statt dauerhaft die Service-Liste zuzumüllen.
9. Monitoring findet sofort echte Baustellen
Schon beim ersten Durchlauf meldete Checkmk mehrere WARN- und CRIT-Zustände: ein nahezu volles CIFS-Backup-Ziel, einzelne stark belegte Container-Dateisysteme, CPU-/RAM-Overcommitment, eine hohe Thread-Zahl, eine auflaufende Postfix-Queue, einen fehlgeschlagenen systemd-Service und einen CPU-Temperatur-Peak.
Diese Punkte werden nicht für den Artikel künstlich „grün“ gemacht. Genau sie sind der nächste Schritt: prüfen, echte Fehler beheben und anschließend nur dort Schwellwerte anpassen, wo die Defaults nicht zum bewusst überbuchten Homelab passen.
Zwischenstand
Damit ist der erste Proxmox-Node technisch vollständig an Checkmk angebunden: Proxmox-API für Plattformdaten plus Linux-Agent für das Betriebssystem. Gleichzeitig hat der Aufbau bereits zwei wichtige Praxisprobleme sichtbar gemacht – zu wenig RAM für den Checkmk-LXC und mehrere reale WARN/CRIT-Zustände auf dem Hypervisor.
Im nächsten Schritt geht es nicht sofort zum nächsten Gerät. Zuerst werden die gefundenen Probleme in Ruhe abgearbeitet und die Discovery-Regeln so angepasst, dass nur dauerhaft relevante Services übrig bleiben. Danach folgen Palo Alto, Unraid, Home Assistant und weitere Hosts.
