Monitor TrackingEventProcessors are in sync

Hello,

I would like to monitor if our tracking event processors are in sync with the event store.
If not, probably some error occurred resulting in an outdated projection…and intervention is required.

Anyone advice?

Regards,
Koen

Hi Koen,

this is also a topic of another discussion: https://groups.google.com/forum/#!topic/axonframework/vLr97actlEk

I am currently investigating the possibility to expose some “progress information” from a token or a stream to see how close to the head of the stream it is.
In some cases, a last-modified timestamp (using the timestamp of the event) should give you a reasonable impression until then.

Cheers,

Allard

Hi,

our application is still running on 2.4, but we changed all framework parts (listener, sagas, aggregates) from push-based to a pull-based approach using the EventStore as the only source (no event bus). We found out late that we are doubling the work done on Axon 3 :frowning:

However, with our change we introduced Prometheus metrics into those framework components. For every "reader" (Axon3 calls them Tracker) we expose a metric with the latest event_id processed successfully by the reader. In addition, a component exports the newest event_id in the event store (Greg Youngs EventStore).

With that, it is straight forward to create a prometheus query to show the events the reader is behind the head. Grafana visualization and alerting included.

I did not look at the Axon3 code yet, but assume that it should be not that hard to export those metrics.

That won't help you with you problem now, but I wanted to share that you can get great insight when you take the road to export metrics yourself.

Maybe Axon3 metrics can be bridged/adapted to export metrics for Prometheus.

cheers

  - siamak