Monitoring containerd Microservices with Instana

April 29, 2019

What is containerd?

From the containerd Github page: “containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. It is available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host.”

Containerd Architecture

containerd was originally created as a low-layer runtime manager for the Docker engine, was part of the Cloud Native Computing Foundation (CNCF) ecosystem, and as of February 28, 2019, is officially a graduated project within CNCF. The largest containerd use case is as a layer between the Docker engine and the OCI runc executor. containerd is a high-level runtime that supports multiple low-level runtimes (such as storage and networking, via a runtime handler). Being that containerd is focused on operational use cases, like running containers on servers, it manages the complete container lifecycle of its host system from image storage and transfer to container execution and supervision.

How to Monitor containerd

Monitoring containerd and its applications requires the ability to understand how different components run within the containerd environment. Effectively monitoring a container-based application requires visibility at the host, container, component, and code level. Instana provides the most efficient way to discover and monitor containerized applications. To begin, install the Instana Agent onto the host and the agent automatically discovers all containers and components running in the environment. Once discovered, the agent deploys all appropriate monitoring sensors and begins tracing and analyzing every application request. Instana leverages a combination of machine learning and preset health rules to automatically determine the health of the applications and infrastructure components.

Metrics – The Instana agent automatically identifies containerd running on the host and, with no manual effort required, deploys and configures Instana’s containerd monitoring sensor. Instana references its curated knowledge base to understand what performance metrics are relevant to collect as well as what parameters must be configured. Specifically, Instana’s automatic configuration for containerd is set to track things like Container Image, Create and Start Timestamp, and Container ID as shown in the screenshot below.

Containerd Metrics Screenshot

Health – In addition to automatically collecting performance metrics, the Instana containerd monitoring sensor automatically collects KPIs on the containerd process to determine its health. Health signatures from the curated knowledge base are used to raise Issues or Incidents depending on user impact. Two primary resources are CPU and Memory, for which Instana collects various KPIs including CPU Load, CPU Steal, and Memory Used.

How to monitor containerd based microservice applications with Instana

To monitor your containerd based microservices with Instana, only 1 agent per host is required. Once installed, every container on that host sends monitoring data through the single, lightweight agent, minimizing overhead while also simplifying the overall deployment of Instana. Instana will also automatically trace every application request flowing through your environment and pull together each distributed trace for a full, end-to-end view of every request. There is no sampling of any kind (and no partial traces) so you’ll always have a complete data set to identify the root cause of any problematic request.

Containerd Distributed Trace

Most important, you’ll also benefit from full analysis of every user impact, performed automatically by Instana, that correlates all of the data from the traces with the underlying container and host metrics. By doing so, Instana provides root cause analysis within a few seconds so that you can update your services as often as you need to without worrying if there are regressions impacting your customers.

Instana’s containerd monitoring includes automatic and continuous discovery, dependency mapping, metric monitoring, distributed tracing, anomaly detection, and analytics across the complete trace data set. This means you’ll always know everything that containerd is doing and the impact to user requests at all times. To see Instana’s containerd monitoring in action sign up for a free trial of Instana today.

Play with Instana’s APM Observability Sandbox

The most complex tests and the most challenging methodologies are often most closely aligned with actual production environments. Given this, how can organizations achieve the best results from testing in pre-production? The...
Thought Leadership
Today most applications are built using microservices. This is because microservices enable rapid scalability, agility and delivery of large complex applications.  Organizations are often fighting a losing battle if real-time data observability...
Thought Leadership
By Karen Gdaniec  Video Demo by: John Gbruoski You can take advantage of IBM Observability by Instana using existing monitoring agents. As an IBM Monitoring client, are you excited about using IBM Observability by Instana to...

Start your FREE TRIAL today!

Instana, an IBM company, provides an Enterprise Observability Platform with automated application monitoring capabilities to businesses operating complex, modern, cloud-native applications no matter where they reside – on-premises or in public and private clouds, including mobile devices or IBM Z.

Control hybrid modern applications with Instana’s AI-powered discovery of deep contextual dependencies inside hybrid applications. Instana also gives visibility into development pipelines to help enable closed-loop DevOps automation.

This provides actionable feedback needed for clients as they to optimize application performance, enable innovation and mitigate risk, helping Dev+Ops add value and efficiency to software delivery pipelines while meeting their service and business level objectives.

For further information, please visit