Monitoring and logging
Monitoring cluster components
- To ensure your app runs well on Kubernetes, check how it behaves regarding resources at different levels like containers and pods. Kubernetes gives detailed data on resource usage, helping you spot and improve overall performance.
- Monitoring helps reduce response time to incidents, self-remediate, scale on-demand, automate the microservices lifecycle, troubleshoot, and debug problems.
- At the cluster level:
- Node resources utilization ↔ CPU, Mem, and Disk utilization.
- Kubernetes components.
- At the application level:
- Monitor the availability, performance, and resource utilization of apps running inside your cluster.
- Track spikes, PVS & PVC, number of network requests, throughput, and error rate.
Solution:
- Prometheus and Grafana.
- Kubernetes Dashboard
- Elastic Stack
- New Relic
Ref: https://kubernetes.io/docs/tasks/debug/debug-cluster/resource-usage-monitoring/
Manage application logs
- Logs give you deep insights into your application, what your application is doing, and what caused the error when something went wrong.