The end users of a system might experience system failures. This can be in the form of either a system failure or a situation where users are not able to perform a certain activity. These kinds of issues are monitored using system logs; if not, the end user will need to provide a detailed information report. Also, sometimes server crash dumps or memory dumps can be immensely helpful. However, in the case of distributed systems, it will be a bit difficult to understand the exact root cause of the failures.
In many monitoring scenarios, using only one monitoring technique is not effective. It is better to use multiple monitoring techniques and tools for diagnostics. In particular, monitoring a distributed system is quite challenging and requires data from various sources. In addition to analyzing the situation properly and deciding on the action points, we must consider a holistic view of monitoring rather than looking into only one type of system perspective.
Now that we have a better idea about what needs to be done for general purpose monitoring, let's revisit the microservice perspective. So we will discuss the different monitoring challenges presented by the microservice architectural style.