We published more recently an in-depth series which details how Kubernetes works, discusses what it changes for monitoring, identifies the key performance metrics you should track, and shows you how to collect them all.
Docker adoption is growing fast—really fast. And companies diving into containerization keep increasing the number of containers they use in production, even while the lifetime of containers is 1/4th that of a VM. The result is typically an order of magnitude more containers in a container architecture than VMs in a VM architecture—which introduces significant new orchestration complexity.
That’s where Kubernetes enters the scene. Kubernetes is an open source system from Google for easily managing containerized applications across multiple hosts; it provides deployment scheduling, workload and resource usage optimization, and easy scaling. Kubernetes groups your containers into logical units, called pods, to make their management and discovery much simpler.
Monitoring your containers is crucial in order to ensure good application performance, but it brings new challenges, especially with Kubernetes on top: you don’t know on which server applications are running, which containers or pods are consuming more resources, or if your clusters’ sizing is optimal…
That’s why today we are happy to introduce our new integration with Kubernetes. Now you can monitor your Kubernetes clusters, Docker containers, containerized applications, and more, all in one place.
Beyond individual containers
Kubernetes adds a higher-level abstraction to your containerized infrastructure by grouping containers into pods containing several applications sharing the same context. This abstraction facilitates resource sharing and communication, and simplifies application deployment and management. You can have different applications, such as NGINX and Redis, inside the same pod. And now with our new integration, you can monitor performance metrics by pod, replication controller, any Docker or Kubernetes labels, or Datadog tags such as kube_replication_controller
and kube_namespace
.
Enabling the Kubernetes integration will automatically set up our Docker integration as well. Thus you will have access to your key Docker metrics and will be able to easily get the orchestration view as well as individual container metrics, all in one fell swoop.
Lastly, this integration also allows you to monitor Kubernetes itself. Datadog automatically captures all the system metrics you might be interested in, such as CPU utilization or memory usage, from your Kubernetes nodes (previously known as “Minions”). You will also have immediate visibility into the status of each node.
All the power of Datadog
This integration will give you access to all the visualization, alerting, and collaboration features of Datadog. Since Kubernetes is built on top of Docker, you will want to correlate Kubernetes metrics, Docker metrics and events, and metrics from the applications running on your pods. You will be able to visualize at a glance the performance of your whole container infrastructure and investigate issues very quickly.
You can also set up advanced alerts on any metric collected from Kubernetes and trigger notifications with any communication channel you prefer: email, Slack, PagerDuty…
Try it out
If your are already a Datadog user, you can set up the Kubernetes integration with a single command using the latest version of the Datadog Agent (v5.6.2). Otherwise, you can try monitoring your own environment with Datadog thanks to our free trial.
More to come
Our engineers are continually working on new features and new integrations to enhance Kubernetes and Docker monitoring, so stay tuned! Also make sure to check our Kubernetes monitoring guide.