Health-Check & Monitoring
Opsi bietet einen Health-Check an der den Betriebszustand des opsi-Server überprüft. Dieser Health-Check kann zum Beispiel über die Weboberfläche des opsi-Servers aufgerufen werden. Der Health-Check prüft die Funktionalität und gibt eine Übersicht über den Status der verschiedenen Komponenten des opsi-Servers.
Der Health-Check kann in ein Monitoring-System integriert werden, um dort den Status des opsi-Servers zu überwachen.
Health-Check
Der opsiconfd
stellt einen Health-Check bereit, der verschiedene Einstellungen und Versionen von opsi-Komponenten überprüfen und damit Hinweise auf eventuelle Probleme geben kann. Der Health-Check kann auf unterschiedlichen Weise gestartet werden. Alle Varianten beziehen ihre Daten vom API-Call service_healthCheck
. Die opsi-API liefert die Daten im JSON-Format zurück. Eine solche JSON-Datei ist besonders bei Support-Anfragen nützlich.
Eine Möglichkeit einen Health-Check zu starten, ist über die Admin-Seite, Reiter RPC-Interface (siehe Abschnitt RPC Interface). Auch das WebGUI bietet schnellen Zugriff auf den Health-Check. Auf der Kommandozeile erfolgt der Aufruf über den Befehl opsiconfd health-check
. Über den Parameter --help
blenden Sie eine Onlinehilfe ein; opsiconfd health-check --documentation
gibt eine Beschreibung aller Checks aus. Ohne weitere Optionen läuft der Check einmal durch und schreibt seine Ergebnisse nach stdout.
opsiconfd health-check --list
gibt alle verfügbaren Checks mit Namen und ID aus. Ein bestimmter Check kann mit opsiconfd health-check --checks <ID>
ausgeführt werden. Checks die nicht ausgeführt werden sollen können mit --skip-checks <ID>
übersprungen werden.
Die checks
und skip-checks
können auch in der /etc/opsi/opsiconfd.conf
oder über Umgebungsvariablen (OPSICONFD_CHECKS bzw. OPSICONFD_SKIP_CHECKS) konfiguriert werden.

Der Health-Check kann auch mit dem Kommandozeilentool opsi-cli aufgerufen werden (siehe Abschnitt opsi-cli support). Einen schnellen Zugriff auf ein Terminal auf dem opsi-Server bietet die Admin-Seite über den Reiter Terminal (siehe Abschnitt Opsiconfd Terminal).
|
Ausgabeformate
Der Health-Check kann folgende Ausgaben produzieren:
-
cli (default) Für die Kommandozeile angepasste Ausgabe.
-
json: Ausgabe im JSON-Format.
-
checkmk: Ausgabe, sodass sie von Check_MK verarbeitet werden kann.
Die Ausgabeformate können über den Parameter --format
gesteuert werden.
opsiconfd health-check --format json
Caching
Die Ergebnisse der einzelnen Checks werden in Redis gespeichert und bleiben 24 Stunden gültig. Verschiedene Funktionen wie zum Beispiel das erstellen eines Backups sorgt dafür, dass der Cache für den Backup Check geleert wird.
Wird der Health Check mit dem Parameter --clear-cache
aufgerufen, wird der Cache geleert und alle Checks werden erneut ausgeführt.
Auch der API Methode service_healthCheck
kann der Parameter clear_cache
übergeben werden, um den Cache zu leeren.
{
"method": "service_healthCheck",
"params": {
"clear_cache": true
}
}
Monitoring
Der Health-Check kann in ein Monitoring-System integriert werden, um eine kontinuierliche Überwachung der Systemgesundheit und -leistung zu ermöglichen. Dabei lässt sich der Health-Check über das Monitoring-System regelmäßig aufrufen. Die Resultate können für verschiedene Zwecke ausgewertet werden, etwa für Alarme, Protokolle oder für die Automatisierung von Wartungsprozessen.
CheckMK
Um die Ergebnisse des Health-Checks in CheckMK zu nutzen, wird einer oder mehrere "local checks" eingerichtet. CheckMK ist ein flexibles und erweiterbares Monitoring-Tool, das speziell für die Überwachung von IT-Infrastrukturen entwickelt wurde. Durch die Integration von Health-Check-Daten können Administratoren sicherstellen, dass die Systeme stets im optimalen Zustand sind und eventuelle Probleme frühzeitig erkannt werden.
Der opsiconfd bringt ein Template Shell-Skript mit, das die Ausgabe des Health-Checks in das CheckMK-Format umwandelt. Dieses Skript ist in der Datei opsi_checkmk enthalten, die unter /usr/lib/opsiconfd zu finden ist. Die Datei kann als "local check" in CheckMK eingebunden werden, um die Health-Check-Daten regelmäßig zu erheben und auszuwerten.
Für die Integration kopiert man das Skript nach /usr/lib/check_mk_agent/local/<cache-time>, wobei <cache-time> für das Cache-Intervall steht, in dem die Ergebnisse aktualisiert werden. Nach dem Kopieren muss das Skript ausführbar gemacht werden, um korrekt zu arbeiten.
Hier ein Beispiel, wie man das Skript für regelmäßige Abfragen einbindet:
cp /usr/lib/opsiconfd/opsi_checkmk /usr/lib/check_mk_agent/local/7200/opsi_check
chmod +x /usr/lib/check_mk_agent/local/7200/opsi_check
In diesem Beispiel wird der Health-Check alle 7200 Sekunden (2 Stunden) durch den CheckMK-Dienst aufgerufen. Die Zeitspanne kann je nach Bedarf angepasst werden, um eine feinere oder gröbere Granularität bei der Datensammlung zu erreichen.
Für eine detaillierte Beschreibung der CheckMK local checks und ihrer Konfiguration können Sie die offizielle CheckMK-Dokumentation hier einsehen: https://docs.checkmk.com/latest/de/localchecks.html.
Mit den Parametern --checks oder --skip-checks kann das Verhalten des Health-Checks weiter angepasst werden. Beispielsweise können bestimmte Checks aktiviert oder deaktiviert werden, um maßgeschneiderte Überwachungsstrategien zu realisieren (siehe Abschnitt Health-Check).
Downtime
Für bestimmte Health-Checks kann eine Downtime festgelegt werden, um temporäre Ausfälle oder Wartungsperioden zu berücksichtigen, ohne dass falsche Alarme ausgelöst werden. Die Downtime kann entweder für einen spezifischen Check oder für das gesamte Monitoring-System gesetzt werden. Dies ist besonders nützlich, wenn geplante Wartungsmaßnahmen oder Updates durchgeführt werden, die zu einem vorübergehenden Verlust der Systemverfügbarkeit führen.
Die Downtime für einen Health-Check kann über folgende Konfigurationsparameter festgelegt werden:
-
opsi.check.enabled (Standard: true) – Aktiviert oder deaktiviert den Health-Check. Wenn false, wird der Check nicht ausgeführt.
-
opsi.check.downtime.start (Standard: null) – Startzeit der Downtime im ISO-8601-Format (z.B. 2025-03-25T08:00:00).
-
opsi.check.downtime.end (Standard: null) – Endzeit der Downtime im ISO-8601-Format. Das Ende der Downtime legt fest, wann der Check nach der festgelegten Pause wieder aktiviert wird.
Diese Parameter können in der Client-Übersicht im opsi-configed gesetzt werden. Im Client-Details-Bereich auf der rechten Seite finden Sie eine Anzeige mit dem Titel Health-Check active und einem Zahnradsymbol. Über dieses Zahnradsymbol können Sie die Downtime-Parameter konfigurieren.

Für eine detaillierte Beschreibung der Health-Check-Einstellungen und -Konfigurationen finden Sie weiterführende Informationen im Kapitel configed der Dokumentation (siehe configed).
