Relation between logs and different components

As, in microservices, there are many components each can be running on the same or different instance. As we have mentioned earlier, also, there is no good view for over ll picture of logs in microservices Architecture. So it is difficult to understand what is happening to any particular request. If something goes wrong, someone has to be debug, and it is not necessary that the same person needs to have knowledge of all technology used in platform and also have knowledge of what all microservices are doing. The only thing they can come to is check the logs and make sense of them to get the overall picture of what is happening in the flow. Then, they encounter another problem. Even if they have all the logs in the same place (after some effort), they can't pull out information from GBs of data. As different components are developed in different languages and by different developers, without having any good standards, there are high chances that the format of logs does not match between different components. For instance, we can see a Java sample log format here:

Java log file sample output:

2017-05-26 15:34:53.787 INFO 13262 --- [io-10000-exec-2] i.s.c.controller. < Controller Class> : <Log content>

It has date, time, log level, class name with package, and log content. Python standard logging is different, same as in Ruby, so in short, different languages have different logging standards and different logging libraries as well. It is not a good change to use any Regex-capable tool to find something between logs.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset