Checkmk: Hetzner Snapshots prüfen als Local Check

Snapshots bei Hetzner bieten eine schnelle Möglichkeit, Sicherungspunkte Ihrer Server anzulegen, doch ohne Monitoring mit Checkmk geraten diese Snapshots im Betriebsalltag leicht in Vergessenheit, besonders, wenn mehrere Hetzner‑Projekte parallel laufen.

Wer sich einen Überblick zur Snapshot-Verwaltung mit Checkmk und die Best Practices verschaffen will, findet im Artikel Checkmk Snapshots bei Hetzner prüfen – Monitoring und Best Practices eine praktische Einführung. Darauf aufbauend zeigt dieser Beitrag, wie Sie die Snapshots per API mit einem Local Check abfragen, sie mittels eines Cronjob-Puffers stabilisieren und die Ergebnisse via Piggyback-Daten als Services in Checkmk darstellen, um stets die Anzahl und das Alter der Snapshots übersichtlich im Blick zu haben.

Überblick: Checkmk Local Check und Piggyback‑Ausgabe für Hetzner Snapshots

Das von ADMIN INTELLIGENCE entwickelte Script ruft die Hetzner-API aus Ihren Projekten ab und erzeugt zwei Datensichten:

  • Eine Übersicht über die Anzahl und das Alter der Snapshots pro Projekt
  • Detailinformationen einzelner Snapshots, inklusive Zeitstempel und Namen

Die Ausgabe erfolgt als Piggyback-Daten auf einem dedizierten Checkmk-Host (zum Beispiel mit dem Namen „Hetzner“), damit keine Vielzahl eigener Hosts nötig ist und die Informationen zentral gebündelt werden.

Übersichtsansicht der Checkmk‑Services für den Host „Hetzner“ mit mehreren Snapshot‑Services und zwei kritischen „Hetzner Zombie Snapshots“‑Checks, die Anzahl, Größe und Kosten der Hetzner‑Snapshots pro Projekt zusammenfassen.

Checkmk-Grundlagen

Wer neu mit Checkmk arbeitet, findet hilfreiche Informationen in unserem Beitrag Was ist Checkmk?, der die Funktionsweise des Monitoringsystems verständlich erklärt.

Voraussetzungen auf dem Monitoring-System

Voraussetzung für den Local Check ist ein Linux-Rechner mit installiertem Checkmk-Agenten sowie die Tools curl und jq.

Unter Debian- oder Ubuntu-Systemen installieren Sie diese so:

apt -y install curl jq

Zudem legt man unter /usr/lib/check_mk_agent eine Datei api_keys ab, die pro Zeile einen Read-only API-Key eines Hetzner-Projektes im Format

#Kunde;Projektname;API-Key
Example;Demo-Project;w743z9tn39tvc793zv73znv93z4ntvzmv93zh83nmzvt08nz3mv83

enthält. Die Trennung in Kunde und Projektnamen erleichtert die spätere Auswertung.

Installation der Checkmk‑Skripte für Hetzner Snapshots und Rechteverwaltung

Die Script-Dateien werden unter /usr/lib/check_mk_agent und seinem Unterverzeichnis local platziert:

  • /usr/lib/check_mk_agent/check_hetzner_buffer.sh
  • /usr/lib/check_mk_agent/check_hetzner.sh
  • /usr/lib/check_mk_agent/local/check_hetzner_snapshots.sh
  • Datei api_keys in /usr/lib/check_mk_agent

Alle Skripte erhalten Ausführungsrechte:

chmod +x /usr/lib/check_mk_agent/check_hetzner_buffer.sh \
         /usr/lib/check_mk_agent/check_hetzner.sh \
         /usr/lib/check_mk_agent/local/check_hetzner_snapshots.sh

Die Datei api_keys sollte mit chmod 600 gegen unerwünschten Zugriff geschützt werden und nur für root lesbar sein:

chown root:root /usr/lib/check_mk_agent/api_keys
chmod 600 /usr/lib/check_mk_agent/api_keys

Warum ist der Cronjob-Puffer wichtig?

Direkte API-Abfragen bei jedem Checkmk-Agent-Aufruf verursachen längere Wartezeiten und belasten die Hetzner-API unnötig. Stattdessen führt ein Cronjob das Script in definierten Intervallen aus, schreibt die Ergebnisse in eine Datei und entlastet so den Agenten.

Dadurch werden Timeouts vermieden und die API wird nicht mit zu vielen Anfragen belastet.

Beispiel für einen Cronjob (alle 10 Minuten)

0,10,20,30,40,50 * * * * /usr/lib/check_mk_agent/check_hetzner_buffer.sh > /dev/null 2>&1

Passen Sie das Intervall an Ihre Gegebenheiten an. Für größere Umgebungen empfiehlt sich ein längeres Intervall, um nicht zu viele API-Requests zu generieren.

Checkmk‑Host für Hetzner anlegen und Piggyback‑Daten nutzen

Um die Daten im Checkmk übersichtlich zu präsentieren, legen Sie einen Host mit dem Namen Hetzner an. Darauf wird über Piggyback das Monitoring der Snapshots gesammelt.

Mit einer Serviceerkennung auf diesem Host erscheinen die Snapshot-Services direkt in der Checkmk-Oberfläche.

Für weiterführende Tipps zur Host-Anlage und Piggyback-Daten sehen Sie in unserem Artikel Checkmk Basics: Anlegen eines Hosts.

Darstellung im Monitoring: Übersicht und Detailansicht

Die Checks liefern zwei Ebenen:

  • Die Übersichts-Services zeigen, wie viele Snapshots pro Projekt vorhanden sind und wie alt der Jüngste ist.
  • Die Detail-Services bieten eine Liste der einzelnen Snapshots mit Namen und Alter.

Eine klare Namenskonvention bei Snapshots (z. B. „pre-update-YYYY-MM-DD“) erleichtert die Zuordnung und den Überblick. Auch das Kürzel des Mitarbeiters oder der Mitarbeiterin am Ende hilft dabei die entsprechend verantwortliche Person zu kontaktieren ob der Snapshot z.B. noch benötigt wird.

Schwellenwerte für Checkmk‑Warnungen zu Hetzner Snapshots definieren

Passen Sie Warnungen an Ihre Betriebsanforderungen an, zum Beispiel:

  • Warnung, wenn keine Snapshots existieren
  • Warnung, wenn der jüngste Snapshot älter als eine bestimmte Anzahl Tage ist, z. B. 7 oder 14

So stellen Sie sicher, dass Sie rechtzeitig auf fehlende oder veraltete Snapshots aufmerksam gemacht werden.

Zum Vermeiden unnötiger Fehlalarme hilft Ihnen unser Beitrag False Positives in Checkmk vermeiden.

Tipps zur Fehlersuche

  • Prüfen Sie lokal die Agentenausgabe mit:
check_mk_agent | less
  • Führen Sie das Buffer-Skript manuell aus, um Ausgaben und Funktion zu kontrollieren:
/usr/lib/check_mk_agent/check_hetzner_buffer.sh
  • Kontrollieren Sie das api_keys-Format auf unsichtbare Zeichen, z. B. mittels:
sed -n 'l' /usr/lib/check_mk_agent/api_keys
  • Testen Sie API-Zugriffe mit curl, insbesondere falls Proxy- oder Netzwerkrestriktionen vorliegen.

Betriebsmodelle, bei denen sich Checkmk‑Monitoring für Hetzner Snapshots lohnt

Diese Lösung eignet sich besonders, wenn Sie mehrere Projekte bei Hetzner betreuen oder Snapshots systematisch im Change‑Management einbinden möchten. So behalten Sie jederzeit den Überblick über verfügbare Sicherungspunkte und vermeiden böse Überraschungen im Ernstfall.

Wenn Sie Unterstützung bei der Implementierung, Anpassung der Checkmk‑Regeln oder der Integration in Ihr bestehendes Monitoring brauchen, helfen wir von ADMIN INTELLIGENCE Ihnen gerne weiter.
Schreiben Sie uns einfach über unser Kontaktformular oder vereinbaren Sie direkt einen kurzen Beratungstermin.

Mehr zu unseren Checkmk‑Services erfahren Sie auf unserer Service‑Seite für Checkmk‑Monitoring.

Für weitere praktische Beispiele und Best Practices rund um Checkmk empfehlen wir unseren Blog zu Checkmk.