Basic monitoring information should be mandatory for all microservices. This makes it easier to get an overview of the state of the system. All microservices should deliver the required information in the same format. Besides, components of the microservice system can likewise use the values. Load balancing, for instance, can use a health check to avoid accessing microservices that cannot process calls.
The basic values all microservices should provide can comprise the following:
- • There should be a value that indicates the availability of the microservice. In this manner the microservice signals whether it is capable of processing calls at all (“alive”).
- • Detailed information regarding the availability of the microservice is another important metric. One relevant piece of information is whether all microservices used by the microservice are accessible and whether all other resources are available (“health”). This information does not only indicate whether the microservice functions but also provide hints about which part of a microservice is currently unavailable and why it failed. Importantly, it becomes apparent whether the microservice is unavailable because of the failure of another microservice or because the respective microservice itself is having a problem.
- • Information about the version of a microservice and additional meta information like the contact partner or libraries used and their versions as well as other artifacts can also be provided as metrics. This can cover part of the documentation (see section 7.15). Alternatively, which version of the microservice is actually currently in production can be checked. This facilitates the search for errors. Besides, an automated continuous inventory of the microservices and other software used is possible, which simply inquires after these values.