How to define overall monitoring of event-driven architecture?
Each component talk to other component via events. Consumer(s) react to events within minutes to days based on use case. Each component performs some work, updates the database and generates events. Event consumer then performs some work and updates the database. Database here is dynamoDb. I am persisting all my data in Elastic search as well. I have millions of records in DB.
For instance: Component A updates record X in database and generates an event to be consumer by Component B which has to reach to event within 5 minutes and update the same record X in database. How do it monitor that A is generating event and B is listening to it ie. X is getting updated within 5 minutes Alarm should trigger if X is not getting updated within 5 minutes.
(I have use cases where record need to be updated within seconds, minutes, days and weeks).