Alerting Typ-Matrix
Diese Seite ordnet die konkreten Alert-Typen, wichtige Felder und typische Werte ein, die aktuell in Projekt-Defaults und Laufzeitlogik verwendet werden.
Gemeinsame Alert-Form
Jede Alert-Definition in jobs.alerts.config.alerts[] folgt derselben Grundstruktur:
| Feld | Bedeutung | Beispielwerte |
|---|---|---|
id | stabile Alert-Definitions-ID, spaeter als alert_conf_id gespeichert | UUID-String |
name | sprechender Alert-Name | Message Failed, iFlow Error |
severity | beabsichtigtes Alert-Level | warning, error |
type | Auswerter-Familie | alert_messages, alert_iflows, alert_keystore, alert_iflow_no_messages_daily |
enabled | Definition aktiv oder nicht | true, false |
tags | optionale Tag-Filterung | [], ["sap", "critical"] |
packages | optionale Package-Einschraenkung | [] oder ausgewaehlte Package-Namen |
notifications.email.enabled | E-Mail-Benachrichtigung an oder aus | true, false |
notifications.email.recipients | explizite Empfaenger | [], ["ops@example.com"] |
notifications.email.template_key | E-Mail-Template-Key | message_failed, iflow_error |
suppress_minutes | Unterdrueckungsfenster fuer Wiederholungen | 60, 1440 |
Typ-Matrix
| Typ | Primaeres Objekt | Wichtige Statusfelder | Typische Defaults | Hauptauswerter |
|---|---|---|---|---|
alert_messages | message | objects.message.status, customstatus, customheaders, logic | status ["failed"], suppress 60 | alerts_message.py |
alert_iflows | iflow | objects.iflow.status | status ["error"], suppress 60 | alerts_iflow.py |
alert_keystore | keystore | objects.keystore.status | status ["expiring_28_days"] oder ["expired"], suppress 1440 | alerts_keystore.py |
alert_iflow_no_messages_daily | iflow plus Tagesfenster | daily_check.window_hours, min_messages, weekdays, objects.iflow.ids | window_hours=24, min_messages=0, weekdays 1..7, suppress 1440 | alerts_iflow_no_messages.py |
Beispiel fuer Message-Alert
{
"name": "Message Failed",
"severity": "error",
"type": "alert_messages",
"enabled": false,
"objects": {
"message": {
"logic": "AND",
"status": ["failed"],
"enabled": true,
"customstatus": [],
"customheaders": [],
"customheaders_logic": "OR"
}
},
"suppress_minutes": 60
}
Wichtige Auswerter-Ideen:
statusgrenzt den CPI-Message-Zustand eincustomstatusfuegt eine zweite fachliche Filterebene hinzucustomheaderskoennen technischen Routing- oder Business-Kontext abbildenlogicundcustomheaders_logicbeeinflussen die Bedingungskombination
Beispiel fuer iFlow-Alert
{
"name": "iFlow Error",
"severity": "error",
"type": "alert_iflows",
"enabled": false,
"objects": {
"iflow": {
"status": ["error"],
"enabled": true
}
},
"suppress_minutes": 60
}
Typische Bedeutung:
- ueberwacht persistierten Artefakt- oder Deployment-Zustand, nicht rohe Live-CPI-Daten
- fuehrt operativ oft weiter zu Artifacts
Beispiel fuer Keystore-Alert
{
"name": "Keystore Entry Expiring Soon",
"severity": "warning",
"type": "alert_keystore",
"enabled": false,
"objects": {
"keystore": {
"status": ["expiring_28_days"],
"enabled": true
}
},
"suppress_minutes": 1440
}
Im Projekt beobachtete Default-Statuswerte:
expiring_28_daysexpired
Operativ haengen diese Alerts vom synchronisierten Keystore-Inventar aus Keystore Entries ab.
Beispiel fuer Daily-No-Message-Alert
{
"name": "iFlow No Message (daily)",
"severity": "warning",
"type": "alert_iflow_no_messages_daily",
"enabled": false,
"objects": {
"iflow": {
"enabled": true,
"ids": []
}
},
"daily_check": {
"window_hours": 24,
"min_messages": 0,
"weekdays": [1, 2, 3, 4, 5, 6, 7]
},
"suppress_minutes": 1440
}
Wichtige Bedeutung:
idskann die Pruefung auf bestimmte iFlows einschraenkenwindow_hoursdefiniert den Beobachtungshorizontweekdaysnutzt numerische Wochentagswerte- der Auswerter schreibt zusaetzlichen Laufzeitzustand, damit die taegliche Taktung stabil bleibt
Laufzeit- und Persistenzzeilen
Die Definition ist nicht der spaetere Alert-Datensatz. Ausgeloeste Alerts werden gespeichert in:
cpiAlertcpiMessageAlertcpiFlowAlertcpiKeystoreEntryAlert
Wichtige persistierte Felder:
| Feld | Bedeutung | Beispiel |
|---|---|---|
level | persistiertes Alert-Level | error |
object | primaere Objektfamilie | message, iflow, keystoreentry |
status | Laufzeitstatus des Alerts | alerted, acknowledged, outdated |
reason | textliche Begruendung | evaluator-spezifischer Text |
alert_conf_id | Rueckverweis auf die Definition | Definitions-UUID |
time_alerted | Erst- oder aktuelle Alert-Zeit | ISO-Zeitstempel |
origin_alert | Verweis auf fruehere Alert-Kette | UUID oder null |
Sinnvolle naechste Kapitel
- Ablaeufe fuer die Dispatch-Logik je Alert-Typ
- Message Popups, wenn ein Message-Alert tiefer untersucht werden muss
- Worker Runtime Overview, um Scheduling und Upstream-Abhaengigkeiten zu verstehen