Before we start to look at various ways we can monitor our Kubernetes cluster we should quickly talk about what we mean by monitoring when it comes to a tool with potentially a lot of moving parts.
Traditionally, monitoring servers has meant keeping a close eye on the availability of applications running on fixed servers. To do this, our monitoring tool would collate information on the CPU, RAM, and disk utilization, as well as which services were running, the number of processes, and also the availability of the services and the server itself.
We would set triggers at certain thresholds so that, for example, if there was an increase of CPU load, we could log in to the server and do some investigation before said CPU load starts to affect our application's performance.
As you can image, monitoring a Kubernetes cluster is a lot different to this...