Because microservices run independently, it's hard to track user requests between asynchronous modules and reproduce errors
And because each request might take a different path, it's also hard to detect which services interact. All these factors mean developers struggle to pinpoint the root cause of an error
We can do
1. 1. Aggregate data at the service level
2. Use Machine Learning
https://sdtimes.com/microservices/troubleshooting-microservices-challenges-and-best-practices/