Container virtualization technology became popular with the advent of Docker. As the use of Docker increases, a way to use and manage containers is necessary, and various container orchestration tools emerged. Among many container orchestration tools, the most widely used tool is Kubernetes.
Kubernetes provides various functions, such as scheduling for efficient use of computing resources, deployment for updating applications, and storage and network required for containers. Of course, Kubernetes itself is a huge platform, but its monitoring is required.
However, various resources in Kubernetes require different data collection methods. Kubernetes users concern about different metrics. Furthermore, the monitoring visibility cannot be obtained simply by collecting and listing data. A UI that can intuitively detect problem situations while meeting various monitoring needs is required. It is also the reason why many users are looking for WhaTap's Kubernetes monitoring solution.
What is Kubernetes Monitoring?
Applications in the container environment are containerized. However, Kubernetes deploys containerized applications in units called pods. This is because the smallest unit of deployment in Kubernetes is a pod, not a container. Containers are contained in pods, and one pod can contain two or more containers. Therefore, Kubernetes monitoring requires monitoring from both the container and pod perspectives. WhaTap collects various monitoring data of containers and pods and stores them in separate categories.
Category is a name that identifies the metrics data collected from your project. Each category consists of different tags and fields. The container map of WhaTap Kubernetes provides a container view and a pod view, allowing you to select the desired analysis target.
Kubernetes Monitoring features
Integrated monitoring based on Kubernetes
Kubernetes Integrated Monitoring supports both multi and hybrid cloud
Analysis of service-based call relationship in MSA
It traces API call relationships for transactions in a pod-level distributed application environment.
Correlation can be identified at a glance
"Root Cause Analysis" can be solved by monitoring the host, containers, and applications together.
Detailed analysis of containerized applications
It provides the hitmap and profile functions required for analyzing Java, Node.js, and Python-based applications hidden in containers. In particular, the multi-service dashboard, MSA analysis, and multi-transaction tracing that are useful in modern application environments, can be completed with one WhaTap.
Unified and flexible visibility through container maps
WhaTap provides information of integrated Kubernetes platform resources as well as the metrics, events, and logs of applications running in Kubernetes. A single view enables smooth communication between infrastructure and application owners, as well as visibility from various perspectives.
Detailed resource monitoring and usage trend checking
With the dashboard that has the resource usage and trend in containers and nodes, you can set to run containers on multiple nodes. User can take a closer look at containers and nodes, starting with the entire list of containers or nodes within the WhaTap project down to the details of individual objects.
Meta information can be searched without accessing the master
Basic meta information of key resources can be checked on the container map, and the entire meta information of various components can be checked at a glance through a separate master meta dashboard. You can save time because there is no need to check meta data one by one by the command.
Focusing on log analysis rather than managing logs
Log files and default outputs of containers can be saved in real time, allowing you to check logs in the container environment whose lifecycle is not constant. Without accessing containers individually, focus on log analysis by categorizing and indexing main content, including meaningful information generated from applications.
Supported Platforms & Products
Kubernetes monitoring targets are Kubernetes clusters and applications running on Kubernetes.
Kubernetes Cluster Monitoring
- CPU, memory, disk (volume), and network for individual containers
- Kubernetes components that make up services such as namespace, deployment, ReplicaSet, and pod
- CPU, memory, disk, and network for individual nodes (host)
Monitoring applications running on Kubernetes: Java, Node.js, Python, etc.
The monitoring procedure to be explained later is also divided into a procedure for cluster monitoring and a procedure for application monitoring.
Kubernetes Cluster Monitoring procedure
Create a cluster project in WhaTap Monitoring Service.
If you create a new Kubernetes project on the WhaTap monitoring service, the created project is a cluster project. See the following.
Install the master agent (whatap-master-agent) and node agent (whatap-node-agent) in the Kubernetes environment. See the following.
The master agent and node agent run in the form of pods within the user's cluster.
(Optional) When multiple namespaces exist in a cluster project, users can separate individual namespace projects from the WhaTap monitoring service. See the following.
A Kubernetes namespace is a mechanism for isolating resource groups within a single cluster in the environments with multiple teams and users. A list of namespaces within your Kubernetes cluster can be found through the
kubectl get namespace command.
Procedure for monitoring applications on Kubernetes
Install the micro application agent for monitoring applications running in containers. Supported micro applications are Java, Node.js, and Python.