Skip to content

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:

  • status grenzt den CPI-Message-Zustand ein
  • customstatus fuegt eine zweite fachliche Filterebene hinzu
  • customheaders koennen technischen Routing- oder Business-Kontext abbilden
  • logic und customheaders_logic beeinflussen 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_days
  • expired

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:

  • ids kann die Pruefung auf bestimmte iFlows einschraenken
  • window_hours definiert den Beobachtungshorizont
  • weekdays nutzt 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:

  • cpiAlert
  • cpiMessageAlert
  • cpiFlowAlert
  • cpiKeystoreEntryAlert

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