Logging
Die Logging-Extension (@5minds/processcube_engine_logging_rabbitmq_extension)
leitet Engine-Events (z.B. OnProcessDeployed, Flow-Node-Events) über
AMQP/RabbitMQ aus. So lassen sich Engine-Vorgänge zentral sammeln, archivieren
oder an Log-/Analyse-Systeme weitergeben — ohne die Engine selbst zu belasten.
Architektur
Die Extension registriert eine Event-Middleware (registerEventMiddleware())
und publiziert jedes relevante Event als JSON auf einen RabbitMQ-Fanout-Exchange
processcube.logging. Konsumenten binden eigene Queues an diesen Exchange.
Einrichten
Im Engine-Image enthalten; aktiv, sobald LOGGING_RABBITMQ_CONNECTION_STRING
gesetzt ist. Ohne diese Variable bleibt die Extension deaktiviert.
Konfiguration
| Env-Variable | Default | Beschreibung |
|---|---|---|
LOGGING_RABBITMQ_CONNECTION_STRING | — | String, Pflicht. AMQP-Verbindungsstring, z.B. amqp://user:pass@host:5672 |
LOGGING_RABBITMQ_WAIT_FOR_PUBLISH | false | Boolean, optional. Bei true wird vor der Weiterverarbeitung auf die Publish-Bestätigung gewartet |
Verwendung
services:
engine:
image: marketplace.processcube.io/processcube-io/processcube_engine:latest
environment:
- LOGGING_RABBITMQ_CONNECTION_STRING=amqp://guest:guest@rabbitmq:5672
- LOGGING_RABBITMQ_WAIT_FOR_PUBLISH=false
rabbitmq:
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672"Die Events werden auf den Fanout-Exchange processcube.logging publiziert; eine
Beispiel-Message enthält u.a. eventType (OnProcessDeployed, …) und die
Event-Nutzdaten.
LOGGING_RABBITMQ_WAIT_FOR_PUBLISH=true erhöht die Zustellsicherheit, kann aber
die Event-Verarbeitung der Engine ausbremsen — im Normalbetrieb false lassen.