Ein Kunde hatte zehn Server, zwei Hyper-V-Hosts, einen Switch, eine Firewall und Veeam-Backup — aber null Sichtbarkeit: sie erfuhren erst, dass eine Platte voll war, als die App ausfiel. Wir stellten alles unter Checkmk, auf unseren Hetzner-Servern, mit Agenten und Alarmen. So geht es.
Die Anforderung: wissen, bevor es faellt
Sie wollten einen einzigen Ort, um den Zustand der gesamten Infrastruktur zu sehen — CPU, RAM, Platten, Dienste, Temperaturen, Backup- und VM-Status — und automatisch alarmiert zu werden, bevor etwas ausfaellt, nicht danach.
Kurz gesagt: ein Bildschirm fuer alles, was sich in der Firma bewegt; wenn etwas schiefgeht, bekommst du eine Nachricht, bevor die App stoppt.
Architektur
Checkmk laeuft auf Cymmunitys Hetzner-Servern (wir belasten die Kundeninfrastruktur nicht). Jeder Kundenserver hat einen Agenten, Switch und Firewall werden per SNMP gelesen, und Hyper-V, SQL und Veeam bekommen dedizierte Plugins. Der zentrale Site verbindet sich mit jedem Agenten (Pull-Modus, TLS auf Port 6556) und holt die Daten in jedem Zyklus; er sendet auch die Alarme.
Checkmk und das Site installieren
Auf dem zentralen Hetzner-Server haben wir das Checkmk-Paket installiert und ein Monitoring-Site mit omd erstellt.
# Debian/Ubuntu — Checkmk Raw (kostenlos) oder Enterprise
apt install ./check-mk-raw-2.3.0p*_0.bookworm_amd64.deb
omd create monitor # erstellt das Site 'monitor'
omd config monitor set ADMIN_MAIL alerts@cymmunity.ro
omd start monitor # Start; UI unter https://server/monitor/
omd status monitor
Die Agenten auf den Kundenservern
Auf jedem Server haben wir den Agenten installiert, mit TLS und Zertifikat registriert: kein offener, nicht authentifizierter Port mehr, und der zentrale Server holt die Daten im Pull-Modus. Unter Linux war es:
# Agent (deb/rpm aus UI: Setup > Agents)
dpkg -i check-mk-agent_2.3.0p*.deb
# verschluesselte Registrierung zum zentralen Site
cmk-agent-ctl register --hostname web01 \
--server checkmk.cymmunity.ro --site monitor \
--user automation --password '***'
cmk-agent-ctl status # TLS + Verbindung pruefenUnter Windows haben wir check_mk_agent.msi installiert und dasselbe cmk-agent-ctl register ausgefuehrt. Dann haben wir in der UI Discovery gemacht und die Dienste aktiviert:
cmk -vI web01 # Dienste auf dem Host entdecken
cmk -O # Aenderungen aktivieren (reload monitor)
Spezielles Monitoring: Hyper-V, SQL, Veeam, Netzwerk
Hier liegt der Wert: nicht nur CPU/Platte, sondern die wichtigen Dinge. Agent-Plugins fuegen spezifische Zustaende hinzu.
# Hyper-V (Windows-Agent): VM-Status, Checkpoints, Replikation
# MSSQL: Sessions, Jobs, Speicher, Backup-Alter
# Veeam: Ergebnis des letzten Backup-Jobs (OK / warning / failed)
# Switch + Firewall per SNMP:
cmk -v --snmpwalk sw01
cmk -vI sw01 # Ports, Temperatur, Uptime, TrafficKurz gesagt: Sie werden auch alarmiert, wenn das letzte Backup fehlschlug oder die Replikation einer VM zurueckblieb — genau das, was man mit blossem Auge nicht sieht.
Alarme + Dashboards + API
E-Mail- und Telegram-Alarme mit Eskalation. Hosts koennen auch per API hinzugefuegt werden (praktisch bei Dutzenden Servern).
# Telegram/E-Mail-Benachrichtigungen per Regeln (Setup > Notifications)
# Host per REST API hinzufuegen:
curl -X POST 'https://checkmk.cymmunity.ro/monitor/check_mk/api/1.0/domain-types/host_config/collections/all' \
-H "Authorization: Bearer automation ***" -H 'Content-Type: application/json' \
-d '{"folder":"/kunden/acme","host_name":"db01","attributes":{"ipaddress":"10.0.0.9"}}'
curl -X POST '.../domain-types/activate_changes/actions/activate-changes/invoke' ...
Ergebnis
Der Kunde hat jetzt ein einziges Board mit der gesamten Infrastruktur, gruen/gelb/rot, und wird alarmiert, bevor etwas faellt — Platte fast voll, fehlgeschlagenes Backup, gestoppte VM, Switch-Temperatur. Wir halten Checkmk auf unseren Servern, aktualisieren und ueberwachen es 24/7. Wenn ein neuer Dienst erscheint, fuegen wir ihn per API in Sekunden hinzu.