There are several things that are important to monitor in Kubernetes:
Cluster monitoring – Keeps track of the health of an entire Kubernetes cluster. Helps you verify if nodes are functioning properly and at the right capacity, how many applications run on a node, and how the cluster as a whole utilizes resources.
Pod monitoring – Keeps track of issues affecting individual pods, such as resource utilization of the pod, application metrics, and metrics related to replication or autoscaling of the pod.
Deployment metrics – When using Prometheus, you can monitor Kubernetes deployments. This metric shows cluster CPU, Kube state, cAdvisor, and memory metrics.
Ingress metrics – Monitoring ingress traffic can help identify and manage various issues. You can use controller-specific mechanisms to configure ingress controllers to track workload health and network traffic statistics.
Persistent storage – Setting up monitoring for volume health enables Kubernetes to implement CSI. You can also use the external health monitor controller to monitor node failures.
Control plane metrics – You should monitor schedulers, API servers, and controllers to track and visualize cluster performance for troubleshooting purposes.
Node metrics – Monitoring CPU and memory for each Kubernetes node can help ensure they never run out. Several conditions describe the status of a running node, such as Ready, MemoryPressure, DiskPressure, OutOfDisk, and NetworkUnavailable.