Docker, Inc. contributed the containerd container runtime to the Cloud Native Computing Foundation (CNCF) in 2017. In 2019, Containerd became the 5th project to reach CNCF’s highest maturity level, graduation. Containerd integrates with the Kubernetes Container Runtime Interface (CRI) and manages the lifecycle of containers on Kubernetes worker nodes. Several distributions of Kubernetes rely on containerd as their default container runtime, including the IBM Kubernetes Service (IKS) and Google Kubernetes Engine (GKE).
Context-aware observability for Kubernetes with Dynatrace
The CNCF introduced the dedicated category Observability and Analysis to their project landscape to cover all things related to the monitoring of cloud-native stacks. This category hosts many single-purpose projects and solutions that focus either on metrics, traces, or logs. Operating and maintaining these single-purpose projects is both cumbersome and costly, even within small environments. The most significant disadvantage of these single-purpose tools is that they lack—by their very nature—a systematic approach to bringing metrics, logs, and traces into context so that application teams and platform operators can make sense of them without manually connecting and correlating the raw monitoring data.
Capturing and collecting contextual monitoring data, along with real-time topology information, is a core strength of Dynatrace OneAgent. Through Davis, the Dynatrace AI engine, you get actionable insights into the performance and health of your applications and the underlying Kubernetes platform.
Automatic monitoring of applications running in Kubernetes pods
While monitoring basic container metrics helps you to track and understand infrastructure utilization, it doesn’t give you insights into the actual performance of the applications or their real-time dependencies to other applications and services. Dynatrace is the first and only solution to provide full-stack visibility into containerized workloads with zero changes required to your code or deployments.
We’re happy to announce that Dynatrace has extended these full-stack capabilities for container monitoring to containerd-based Kubernetes environments. Containerd monitoring support is now available in a Beta release for all Kubernetes-based platforms (version 1.11+). Containerd monitoring support now includes:
- Automatic monitoring of processes in containerd containers
- Automatic code level visibility and tracing of applications in containerd containers
- Automatic monitoring of real user experience for applications hosted in containerd containers
- Automatic detection and import of Kubernetes pod metadata for containerd containers
- Rule-based control of automated process monitoring in containerd containers
These capabilities not only ensure full-stack visibility into containers (down to the code level and database), they’re also key for automated discovery of your container and service-to-service dependencies. The real-time dependency model of your whole environment drives the core of Davis—the Dynatrace full-stack root-cause analytics engine.
Enable containerd monitoring for Kubernetes
Containerd container support is available with the release of Dynatrace OneAgent version 1.169. As this capability is currently available in Beta, it’s turned off by default and you need to manually enable it to get insights into containerd containers in Kubernetes.
You’ll find the switch for enabling containerd container monitoring on the new Container monitoring settings page (Settings > Processes and containers > Container monitoring).
We’re continuously extending our capabilities for full-stack container monitoring, in particular for Kubernetes-based environments. We’re finalizing support for container injection rules for fine-grained, systematic control of OneAgent auto-injection capabilities for large scale environments. So stay tuned.