Kubernetes provides a robust platform for configuring or managing containers at large scale. Kubernetes is a complex system that requires extensive monitoring to identify and debug production issues. Kubernetes monitoring tools can help you effectively monitor your Kubernetes deployments in production.
This article discusses how to effectively monitor Kubernetes, and popular tools that can help you monitor your Kubernetes system.
This is part of our series of articles on cloud monitoring.
In this article, you will learn:
When running Kubernetes, it is not enough to have monitoring at the cluster level. You must set up monitoring at every layer of the Kubernetes system, from physical nodes, through to pods, clusters, and the control plane.
Related content: Cloud Logging Strategies for Multi-Cloud Environments
The following metrics are critical to monitor to see the health of your Kubernetes infrastructure.
All services (including etcd) that make up the Kubernetes Master or any worker nodes, are critical to the state of the application. Your monitoring system must be able to pick up an error in any of these components, and an error occurs, automatically correct it or send an alert.
You must also monitor Kubernetes resources directly. Kubernetes also provides valuable metrics on resources state and usage, and lets you directly monitor applications. You can trust Kubernetes to achieve the desired state as defined in the cluster configuration, but if it doesn't, teams must receive an alert and intervene in the provisioning process to solve the problem.
The following are some of the most commonly used tools to monitor Kubernetes in production.
cAdvisor is a utility which is built into the kubelet, so it is available in almost all Kubernetes systems. It provides information about resource usage of running containers.
Its main features are:
Prometheus is a robust, enterprise-grade monitoring tool for containerized environments. It is customizable, and provides comprehensive metrics without affecting system performance on monitored containers.
The main features of Prometheus are:
Elastic Stack (formerly called ELK stack) is a set of open source products that allow users to search, analyze, and visualize data in any format from any source in real time. It consists of three main components: Elasticsearch, Logstash, and Kibana.
Main features of Elastic Stack:
Sensu Go is a telemetry and service health solution for multi-cloud monitoring. It provides in-depth understanding of how servers, containers, services, applications, and connected devices operate in public or private clouds. Sensu can run in parallel with Prometheus or natively without Prometheus.
Main features of Sensu Go:
Fluentd provides a unified logging layer for cloud native environments, separating data sources from backend systems. This layer allows you to collect logs in real time as they are created.
Main features of Fluentd include:
NetApp Cloud Insights is an infrastructure monitoring tool that gives you visibility into your complete infrastructure. With Cloud Insights, you can monitor, troubleshoot and optimize all your resources including your public clouds and your private data centers.
Cloud Insights helps you find problems fast before they impact your business. Optimize usage so you can defer spend, do more with your limited budgets, detect ransomware attacks before it’s too late and easily report on data access for security compliance auditing.
In particular, NetApp Cloud Insights helps you gain an understanding of your Kubernetes architecture through topology visualization, and monitor health of Kubernetes clusters.
Start a 30-day free trial of NetApp Cloud Insights. No credit card required