Persist all commands & events for monitoring

I want to persist all commands & events dispatched in the buses, writing the to db for future monitoring and debriefing.
We are not doing ES and not using aggregates, just plain sagas.
What i thought to do was adding a message interceptor (non-blocking) to collect the data and write it to ElasticSearch/MongoDB.
Is there a better, embedded way to do so?

Axon Tracking
Tracing - Axon Reference Guide (
It works very well for analytics and monitoring

I would take a look at Axon’s Tracing Extension, as well as its monitoring capabilities.

The former is based on OpenTracing, thus requires the use of an OpenTracing implementation.
For the latter, you can pick either DropWizard Metrics or Micrometer. In both cases, you’d need to have a metric registry in place.