Event audit
Purpose
The purpose of the platform audit mechanism is to permanently store Eximee system events, allowing the state of business processes to be precisely reconstructed at any point during their processing.
Stored documents
Using the platform event mechanism already provided in the system, the audit builds a dedicated file in object storage (e.g. Blob Storage) for each application instance:
the file name contains the application instance identifier with the jsonl extension, for example: 300plus_app-475d8af8-e2ba-437e-8ac1-6af182412415.jsonl
the file is saved in JSONL format, where each line of the file contains a JSON document encoded in UTF-8,
the lines represent individual Eximee system events, whose payload is additionally extended with the values of some headers (see the table below)
Due to the specifics of the implementation and the event-driven nature of the system, the document has the following characteristics:
a single event may appear in it more than once and deduplication by eventUuid is required during reading,
the file lines are not kept in order and sorting by eventTimestamp is required during reading.
Published events
For audit purposes, a subset of all events published by Eximee is collected. Information from events published to the event broker (e.g. Event Hubs, Kafka) is first stored in a database (e.g. PostgreSQL), and then once a day it is written in batches to object storage (e.g. Blob Storage). The collected events are described in the table:
datamodel:application-instance:create
Creation of an application instance
datamodel:value:resolve
Reading data from the data model
datamodel:data-provider:save
Saving data in the data model
Saved headers
In event audit files, the values of the following headers of events published on Eximee Audit Trail are saved.
eventTimestamp
Event timestamp in ISO 8601 format
eventUuid
Unique event identifier
eventType
Event type
eventVersion
Event version
Last updated
Was this helpful?
