Monitoring containers

As a container is basically a thin wrapper around our program and dependent runtime libraries, the metrics collected at the container level would be similar to the metrics we get at the container host, particularly with regard to the use of system resources. Although collecting these metrics from both the containers and their hosts might seem redundant, it actually allows us to solve problems related to monitoring moving containers. The idea is quite simple: what we need to do is attach logical information to metrics, such as pod labels or their controller names. In this way, metrics coming from containers across distinct hosts can be grouped meaningfully. Consider the following diagram. Let's say we want to know how many bytes were transmitted (tx) on App 2. We could add up the tx metrics that have the App 2 label, which would give us a total of 20 MB:

Another difference is that metrics related to CPU throttling are reported at the container level only. If performance issues are encountered in a certain application but the CPU resource on the host is spare, we can check if it's throttled with the associated metrics.

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

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