Health Monitor
Der Health Monitor ist ein eigenständiger Dienst innerhalb der primedocs-Infrastruktur, der den Systemzustand kontinuierlich überwacht. Er prüft periodisch alle konfigurierten Dienste und Datenquellen und stellt die Ergebnisse sowohl über ein Dashboard in der DataSourceAdminApp als auch über eine API zur Verfügung. Der Health Monitor muss via die primedocs.config aktiviert werden (primedocs.config ).
Allgemeine Funktion
Dashboard
Das Health Monitor Dashboard ist über den DataSource Admin App zugänglich und gibt einen Überblick über den aktuellen Systemzustand. Es zeigt den Status aller PrimeDocs-Dienste und Datenquellen und erlaubt es, den Status manuell zu aktualisieren (Refresh). Erkannte Warn- und Fehlermeldungen aus dem Anwendungsprotokoll können zudem als gelesen markiert werden.
Das Dashboard aktualisiert sich automatisch, sofern der Status noch unbekannt ist (z. B. direkt nach dem Start des Dienstes).
API
Der aktuelle Systemzustand ist auch programmatisch abrufbar. Die API kann ohne Authentifizierung aufgerufen werden:
Code
GET {HealthMonitorUrl}/v1/status
Rückgabewerte:
| Wert | Status | HTTP-Code | Beschreibung |
|---|---|---|---|
0 | OK | 200 | Keine Probleme erkannt. Alle Dienste laufen normal. |
1 | Degraded | 200 | Es liegen Warnungen vor. Dienste könnten eingeschränkt funktionieren. |
2 | Severely degraded or nonoperational | 500 | Es liegen Fehler vor. Dienste sind möglicherweise nicht erreichbar oder nicht funktionsfähig. |
3 | Unknown | 200 | Der Status wird gerade ermittelt. Tritt typischerweise nur beim Start des Health Monitor Dienstes auf. |
Für detaillierte Informationen steht ein weiterer Endpunkt zur Verfügung, der Basic Authentication erfordert (Zugangsdaten werden in der primedocs.config konfiguriert):
GET {HealthMonitorUrl}/v1/status/detailed
Erkannte Fehler und Warnungen
Der Health Monitor führt verschiedene Prüfungen auf System- und Datenquellenebene durch. Die Checks lassen sich thematisch in folgende Kategorien einteilen:
Konfiguration
Prüft die Gültigkeit der primedocs.config. Dazu gehören:
- Syntaktische und strukturelle Korrektheit der XML-Konfigurationsdatei
- Gültige App-Typen für alle konfigurierten Applikationen
Mögliche Auswirkung: 🔴 Error
Erreichbarkeit der Dienste
Prüft, ob die konfigurierten PrimeDocs-Dienste (z. B. Web API, weitere Server-Applikationen) unter ihrer konfigurierten URL erreichbar sind.
Mögliche Auswirkung: 🔴 Error
Zertifikate
Prüft die Gültigkeit des für den Identity Server konfigurierten Signatur-Zertifikats.
Mögliche Auswirkung: ⚠️ Warning (läuft in < 30 Tagen ab), 🔴 Error (läuft in < 14 Tagen ab oder konnte nicht geladen werden)
Anwendungsprotokoll
Analysiert die NLog-Datenbank auf Warn- und Fehlermeldungen der letzten 24 Stunden. Über die optionale errorRatePolicy in der primedocs.config kann konfiguriert werden, ab welcher Fehlerrate pro Stunde ein Error ausgelöst wird:
XML
<healthMonitor basicAuth="user:pass" clientSecret="secret" intervalInSeconds="600">
<errorRatePolicy errorsPerHourThreshold="10"
statusBelowThreshold="Warning"
statusAboveThreshold="Error" />
</healthMonitor>
Ohne konfigurierte Policy werden Einträge im Fehlerprotokoll als Warnung dargestellt.
Diese Funktion muss via das Attribut databaseLoggingEnabled="true" auf dem primedocs Element in der primedocs.config aktiviert werden.
Mögliche Auswirkung: ⚠️ Warning, 🔴 Error (je nach Konfiguration)
Datenquellen-Konfiguration und -Inhalte
Pro konfigurierter Datenquelle werden weitere Prüfungen durchgeführt, z. B. auf globale Einstellungen, Themes und Inhalte (beispielsweise Snippets).
Mögliche Auswirkung: ⚠️ Warning, 🔴 Error
Unerwartete Fehler
Tritt beim Ausführen eines beliebigen Checks eine unbehandelte Ausnahme auf, wird diese als Fehler erfasst und im Dashboard angezeigt.
Mögliche Auswirkung: 🔴 Error