Skip to Content

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-VariableDefaultBeschreibung
LOGGING_RABBITMQ_CONNECTION_STRINGString, Pflicht. AMQP-Verbindungsstring, z.B. amqp://user:pass@host:5672
LOGGING_RABBITMQ_WAIT_FOR_PUBLISHfalseBoolean, optional. Bei true wird vor der Weiterverarbeitung auf die Publish-Bestätigung gewartet

Verwendung

docker-compose.yml
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.