Alerting Architektur
Alerting ist die tenant-spezifische Auswertungsschicht, die gesammelte CPI- und Keystore-Laufzeitdaten in bearbeitbare Alert-Datensaetze ueberfuehrt. Sie liegt zwischen Hintergrundsammlung und operativem Review.
Verwandte Seiten
Fachliche Rolle
Die aktuelle CPI-orientierte Alert-Engine ueberwacht vor allem:
- Message-Verarbeitung und Fehlerbilder
- Deployment-Status von iFlows und Artefakten
- Keystore- und Zertifikatszustand
- taegliche Pruefungen auf iFlows ohne erwartete Messages
Persistenzmodell
Die Alert-Konfiguration liegt primaer in cConfigExt:
name = "jobs.alerts"data_type = "config"
Der Alert-Laufzeitzustand liegt ebenfalls in cConfigExt:
name = "jobs.alerts"data_type = "runtime"
Ausgeloeste Alerts werden in cpiAlert gespeichert und ueber objektspezifische Relationstabellen verknuepft, zum Beispiel:
cpiMessageAlertcpiFlowAlertcpiKeystoreEntryAlert
Laufzeitgrenze
flowchart LR
CFG[cConfigExt jobs.alerts.config und runtime] --> TASK[task_alerts.py]
MSGDATA[cpiMessageLog und verwandte Laufzeitdaten] --> MSG[alerts_message.py]
FLOWDATA[cpiFlow und Package-Zustand] --> FLOW[alerts_iflow.py]
KEYDATA[cpiKeystoreEntry] --> KEY[alerts_keystore.py]
TASK --> MSG[alerts_message.py]
TASK --> FLOW[alerts_iflow.py]
TASK --> KEY[alerts_keystore.py]
TASK --> DAILY[alerts_iflow_no_messages.py]
DAILY --> FLOWDATA
MSG --> ALERT[cpiAlert]
FLOW --> ALERT
KEY --> ALERT
DAILY --> ALERT
ALERT --> UI[AlertPopup und Overview Karten]
UI --> ACK[Acknowledge und Unterdrueckung]
Abhaengigkeiten
Alerting erzeugt keine eigene fachliche Wahrheitsquelle fuer operative Fakten. Es baut auf zuvor synchronisierten Laufzeitdaten auf:
- Message-Alerts haengen von synchronisierten Message-Daten ab
- iFlow-Alerts haengen von Flow- und Deployment-Zustand ab
- Keystore-Alerts haengen vom synchronisierten Zertifikatsinventar ab
- die UI liest persistierte Alert-Zeilen und berechnet Bedingungen nicht live neu
Wichtige Abgrenzung
backend/src/core/models.py enthaelt noch eine allgemeinere Alert-Modellschicht mit cAlertType und cAlert. Der operative CPI-Alert-Flow stuetzt sich aktuell stattdessen auf:
jobs.alerts.configjobs.alerts.runtimecpiAlertund die zugehoerigen Relationstabellen
Diese Trennung ist wichtig, sobald neue Alert-Anforderungen umgesetzt werden.