Kubernetes Monitoring
Kubernetes is able to bear the heavy loads of production environment, and that is why many have started to migrate to it. Kubernetes is a set of control plane components (e.g. APIServer, etcd etc), which means there are number of metrics to be Monitored. Not all the metrics need to be monitored; rather, there are some that are actually enough to get a stable production environment along with the active alerting system. But there are some metrics that should be monitored in order to have a stable production environment, e.g.,
• CPU / Memory Limit vs. Actual Usage: Which helps to avoid going into throttled mode, which causes
• percentage of unavailable pods out of desired replicas shows how many pods are actually live and ready.
• CPU / memory requests vs. actual usage: to monitor the requests being handled by the node, and ultimately, based on this, the Kubernetes scheduler selects where to host the new pod.
• Desired Replicas Out of HPA Maximum Replicas: helps to monitor the HPA (Horizontal Pod Autoscaler), which is used to adjust the number of running replicas.
• Persistent Volume Utilization: which shows how many blocks of storage are attached to the pods
• Nodes Failing Status Checks: Which is a kubelet helping to monitor if the node is working properly?
A Good read about monitoring in kubernetes: https://betterprogramming.pub/6-metrics-to-watch-for-on-your-k8s-cluster-76d58f08397f