Enterprise Maven Master
Master 20 - Observability & Operations Center - Projektbeschreibungen
Projektbeschreibungen
| Modul | Aufgabe | Ablauf | Pattern | Tests |
|---|---|---|---|---|
health-center | Aggregiert beliebig viele HealthChecks zu einem Gesamtstatus UP/DOWN. | Checks registrieren -> alle ausführen -> Status melden | Composite | HealthCenterTest (2): UP wenn alle Checks bestehen, DOWN mit Namen des fehlgeschlagenen Checks. |
metrics-center | Registry für benannte Kennzahlen, Basis für Alert-Auswertung und Dashboards. | Kennzahl aufzeichnen -> Kennzahl nachschlagen | Registry | MetricsCenterTest (2): schreibt/liest eine Kennzahl, lehnt unbekannte Kennzahl ab. |
log-correlation | Bündelt verstreute Log-Zeilen anhand der Correlation-Id zu einem zusammenhängenden Ablauf. | Log-Zeile anhängen -> nach Correlation-Id gruppieren -> Zeitachse liefern | Correlation Identifier | LogCorrelatorTest (2): gruppiert nach Correlation-Id, liefert leere Zeitachse für unbekannte Id. |
trace-flow | Baut aus flachen Spans einen zusammenhängenden Trace und summiert die Gesamtdauer. | Span hinzufügen -> Eltern-Span prüfen -> Gesamtdauer berechnen | Composite | TraceFlowTest (2): summiert Span-Dauern korrekt, lehnt Span mit unbekanntem Eltern-Span ab. |
audit-timeline | Hält jede Betriebsänderung unveränderlich und nach Akteur filterbar fest. | Ereignis aufzeichnen -> nach Akteur filtern | Event Sourcing (light) | AuditTimelineTest (2): filtert nach Akteur, behält alle Ereignisse in der Gesamtzeitachse. |
alert-rules | Wertet Schwellwertregeln gegen metrics-center aus und liefert die aktiven Alarme. | Kennzahl lesen -> gegen Schwelle prüfen -> Alarm melden | Strategy | AlertEvaluatorTest (2): löst Alarm bei Schwellwertüberschreitung aus, kein Alarm darunter. |
incident-runbook | Ordnet jedem bekannten Alertnamen eine feste Behebungsabfolge zu. | Alertname nachschlagen -> Schritte liefern | Strategy Lookup | IncidentRunbookTest (2): liefert Schritte für bekannten Alert, lehnt unbekannten Alert ab. |
backup-restore-check | Prüft, ob ein Backup-Snapshot überhaupt wiederherstellbar wäre (Größe, Alter). | Snapshot prüfen -> Größe prüfen -> Alter gegen Aufbewahrungsfenster prüfen | SRE Restore Drill | BackupRestoreCheckTest (3): akzeptiert aktuellen Snapshot, lehnt leeren und zu alten Snapshot ab. |
ops-dashboard | OpsDashboard-Facade bündelt Health, Metriken, Alarme, Runbooks und Restore-Prüfung. Neu: Incident-Aggregat (Domain) mit Lebenszyklus OPEN -> ACKNOWLEDGED -> MITIGATING -> RESOLVED, AlertNotifier-Port für Benachrichtigungen, IncidentManagementService (Application) öffnet, benachrichtigt, remediiert und schließt einen Vorfall je Alarm. | Health prüfen -> Alarme auswerten -> Vorfall öffnen -> benachrichtigen -> remediieren -> schließen | Facade, Aggregate (Process Manager), Port/Adapter, Application Service | OpsDashboardTest (2). IncidentTest (3): durchläuft den Lebenszyklus korrekt, lehnt Remediation vor Anerkennung und Abschluss vor Mitigation ab. IncidentManagementServiceTest (2): löst Vorfall für aktiven Alarm auf und benachrichtigt, öffnet keinen Vorfall ohne Alarm. |
runnable-smoke | Verdrahtet ops-dashboard plus log-correlation, trace-flow und audit-timeline zu einem End-to-End-Lauf (mvn -pl runnable-smoke -am package). | Correlation -> Trace -> Audit -> Health -> Metrics -> Alert -> Runbook -> Restore Check -> Incident | Command, Pipeline, Result Object | Kein eigener JUnit-Test; verifiziert STATUS=OK für alle neun Schritte zur Laufzeit und bricht mit Fehler ab, falls einer abweicht. |
Ausbaustufe 1 (minimal lauffähig): 19 JUnit-Tests über 9 vormals leere Submodule. Ausbaustufe 2 (fachlich ausgearbeitet): ops-dashboard bekam das Incident-Aggregat, den AlertNotifier-Port und den IncidentManagementService — 5 weitere Tests, macht 27 Tests insgesamt für dieses Modul. Verifiziert mit mvn test (alle grün) und dem End-to-End-Smoke-Lauf mvn -pl runnable-smoke -am package (weiterhin STATUS=OK, jetzt mit einem vollständig durchlaufenen Incident-Lebenszyklus).