Handbuch Rule Engine

Die Analytics Rule Engine verwendet Apache Flink, um einen Stream-Verarbeitungsdienst für die Event Engine-Funktion bereitzustellen. Dieses Dokument richtet sich an praxiserfahrene Teams, die Informationen über die CA Automic-Implementierung von Flink benötigen.

Hinweise:

  • Dieses Dokument richtet sich an erfahrene Benutzer von Apache Flink. Es setzt voraus, dass Sie über Grundkenntnisse in den Themenbereichen verfügen.

Diese Seite beinhaltet Folgendes:

Warum Flink als Rule Engine verwendet wird

  • Das Flink Stream Processing Framework ist schnell, zuverlässig und effizient
  • Eine skalierbare Lösung, die auf 1 bis n Maschinen läuft
  • Entfernt Load Balancing von der AE

Siehe: http://flink.apache.org/introduction.html#features-why-flink

Event Engine Ablauf

Da die Rule Engine auf Flink basiert, bleibt die Architektur weiterhin gleich.

Ablauf Event Engine

Interaktion der Rule Engine mit Analytics

Die Schnittstelle zwischen Analytics und der Rule Engine wird mittels der Datei application.properties konfiguriert, die sich im folgenden Verzeichnis befindet: <Automic>/Automation.Platform/Analytics/backend.

Wichtig! collector.events.enabled ist standardmäßig deaktiviert (wenn Sie den One-Installer nicht verwenden) und muss explizit auf true gesetzt werden.

Beispiel für die Standardkonfiguration der Rule Engine:

##################### 
## Ereignisaufnahme # 
##################### 

# Ereignis aktivieren/deaktivieren
collector.events.enabled=true

##########################
## Einstellungen für die Rule Engine ##
##########################

# Flink-Job-Manager
flink.host=localhost
#flink.port=6123
#flink.web_port=8081

# Mit SSL eine Verbindung zu Flink herstellen
#flink.use_ssl=false

# SSL-Zertifikat überprüfen
#flink.disable_self_signed_certificates=true

# Job-Überwachungsintervall
#flink.monitoring_interval_seconds=60

# Heartbeat-Intervall für die Prüfung auf abgebrochene Jobs
#flink.monitoring_heartbeat_interval_minutes=3

Ereignisse verbrauchen

Kafka verwendet Themen, sogenannte Topics, als Begriff, um verschiedene Datenströme zu trennen. Die Rule Engine verwendet die Ereignisdefinition als Entity, wobei pro Mandant und Ereignisdefinition ein separates Kafka-Topic vorhanden ist.

Regeln ausführen

  • Eine Regel ist kein Job und enthält keine JCL
  • Regeln sind ein Subtyp von Ereignis-Objekten (EVTN) (in Automation Engine-Worten ausgedrückt), d. h. sie sind ähnlich zu Dateiereignissen

Wie eingehende Daten mit der Rule Engine umgewandelt werden

Das folgende Diagramm zeigt, wie Daten vom IA-Agenten über die Streaming-Plattform bis zur Rule Engine verarbeitet werden.

Hinweis: Ein Ereignistopic der Streaming-Plattform (Kafka) pro Mandant, z. B. 99_Ereignisse.

Wie eingehende Daten mit der Rule Engine umgewandelt werden

---------: Ausführen einer Regel

--------: Aufnehmen von externen Ereignissen

--------: Auslösen, wenn eingehende Ereignisse mit einer Regel übereinstimmen

Aktivieren der Ereignisverarbeitung

Siehe: Ereignisverarbeitung für einen Mandanten aktivieren