Good monitoring is important to keeping any application healthy and available. In a microservices architecture good monitoring is even more important. We not only need to be able to monitor what’s going on inside a service, but also the interactions between the services and the operations that span them.
• Use activity or correlation IDs: These are used to associate events to a specific activity or transaction.
• Use a common log format: This enables better correlation of events across services and instances.
• Collect and analyze logs: By collecting logs from the various services and instances, we can analyze and query across multiple services and instances of a service.
• Consider using a sidecar: A sidecar is simply an out-of-process agent that is responsible for collecting metrics and logs. We can run this in a linked container.
In addition to these points, all the standard monitoring tools and techniques should be used where appropriate. This includes endpoint monitoring and synthetic user monitoring.
See Chapter 7 for more information on best practices for monitoring and logging with microservices architectures.
3.22.216.254