Health checks should be an essential part of your microservices setup. Every service should expose a health check endpoint which can be accessed by the consul or another server monitor. Health checks are important as they allow the process responsible for running the application to restart or kill it when it starts to misbehave or fail. Of course, you must be incredibly careful with this and not set this too aggressively.
What you record in your health check is entirely your choice. However, I recommend you look at implementing these features:
- Data store connection status (general connection state, connection pool status)
- Current response time (rolling average)
- Current connections
- Bad requests (running average)
How you determine ...