Admin Intelligence
Ihre Linux Server
Administratoren

Persönlich – kompetent – schnell

Linux Server Administration Cloud & Virtualisierung Monitoring & Backup Kosteneffizienz & Transparenz Open Source Lösungen IT-Security
DACH-Region Hosting in Deutschland

Checkmk: Caddy Server mit und ohne Docker überwachen

Checkmk eignet sich sehr gut, um einen Caddy Server transparent zu überwachen. Mit einem Local Check lesen Sie die Caddy-Metriken aus und machen daraus direkt auswertbare Services im Monitoring; optional lässt sich dieselbe Idee auch auf Docker-Setups übertragen.

Checkmk Service für Caddy mit Status OK und Metriken wie Requests pro Sekunde, Antwortzeit und Verbindungszahlen

Warum Caddy in Checkmk gehört

Caddy stellt über seine Metrics-Funktion einen Prometheus-kompatiblen Endpunkt bereit. Dafür müssen die Metriken in den globalen Optionen aktiviert werden; anschließend kann Caddy Kennzahlen wie Request-Zähler, Fehler und weitere Zustände ausgeben. Genau diese Daten sind für Checkmk interessant, weil sich daraus klare Zustände wie OK, Warning oder Critical ableiten lassen.

Im Alltag ist das nützlich, weil Sie nicht nur den laufenden Prozess sehen, sondern den tatsächlichen Zustand des Webservers. Wenn etwa Metriken fehlen oder Upstreams Probleme machen, erkennen Sie das früh im Monitoring.

So arbeitet der Local Check

Checkmk erlaubt mit Local Checks das schnelle Ergänzen eigener Services direkt über den Agenten auf dem Zielsystem. Das Prinzip ist einfach: Ein Script gibt eine Zeile im Local-Check-Format aus, und Checkmk macht daraus einen Service. Das von uns bereitgestellte Script caddy_metrics.py nutzt genau diesen Weg, um Caddy-Metriken in Checkmk sichtbar zu machen.

Ein typischer Ablauf sieht so aus:

  1. Caddy-Metriken aktivieren.
  2. caddy_metrics.py auf dem Host ablegen.
  3. Das Script ausführbar machen.
  4. Service Discovery in Checkmk starten.
  5. Den neuen Service aktivieren.

Einrichtung in Checkmk

In der Caddy-Konfiguration aktivieren Sie Metriken in den globalen Optionen:

{
  metrics
}

Optional können Sie den Metrics-Endpunkt auch genauer steuern, etwa mit einem eigenen Pfad oder Host-bezogenen Metriken. Danach prüft das Script die Werte und übergibt sie an Checkmk als Service mit Status und Messwerten.

Das Script legen Sie an folgendem Ort auf Ihrem Linux Webserver ab:

/usr/lib/check_mk_agent/local/
└── caddy_metrics.py

Anschließend setzen Sie die Ausführungsrechte:

chmod +x /usr/lib/check_mk_agent/local/caddy_metrics.py

Docker als Alternative

Falls Caddy in einer containerisierten Umgebung läuft, kann Checkmk auch Docker-Umgebungen überwachen. Die offizielle Dokumentation beschreibt dafür die agentenbasierte Docker-Überwachung mit dem mk_docker.py-Plugin. Damit lassen sich Container, Images und der Docker-Daemon in das Monitoring einbeziehen.

Das ist besonders sinnvoll, wenn Sie Caddy nicht direkt auf dem Host betreiben, sondern als Container ausrollen. Dann behalten Sie sowohl den Caddy-Service als auch die Container-Umgebung im Blick.

Troubleshooting

Wenn der Service nicht auftaucht, prüfen Sie zuerst, ob Caddy die Metriken wirklich ausliefert. Danach sollten Sie testen, ob das Local-Check-Script eine gültige Ausgabe erzeugt und ob es ausführbar ist. Wenn Checkmk den Service trotzdem nicht entdeckt, hilft in der Regel eine erneute Service Discovery.

Typische Fehlerquellen sind:

  • Metriken in Caddy nicht aktiviert.
  • Falscher Endpunkt oder Port.
  • Script nicht ausführbar.
  • Ausgabeformat des Local Checks ist fehlerhaft.
  • Service Discovery wurde noch nicht ausgeführt.

Fazit

Im Caddy-Archiv finden Sie weitere passende Artikel rund um Caddy, Reverse Proxy und HTTPS im Admin-Alltag. Ergänzend lohnt sich ein Blick auf weitere Beiträge zu Checkmk und Infrastruktur-Monitoring, etwa zu Distributed Monitoring und Docker-Überwachung, wenn Sie Ihre Umgebung später ausbauen möchten.

Checkmk überwacht Caddy zuverlässig und transparent. Das Script caddy_metrics.py liest die relevanten Metriken aus und macht daraus einen Service im Monitoring. Wenn Sie Caddy in Docker betreiben, kann Checkmk zusätzlich auch die Container-Umgebung überwachen. So behalten Sie sowohl den Webserver als auch die Infrastruktur im Blick.

Sie möchten Checkmk in Ihrer Umgebung professionell einsetzen oder bei der Einrichtung Unterstützung erhalten? Dann sprechen Sie uns gerne an. Die Kontaktdaten finden Sie auf admin-intelligence.de.