Automated Monitoring for
CRI-O

January 13, 2020

Design Composition of a Chaotic and Organized Coloured Cubes

CRI-O is a Cloud Native Computing Foundation incubating project. According to their website, “CRI-O is an implementation of the Kubernetes CRI (Container Runtime Interface) to enable using OCI (Open Container Initiative) compatible runtimes. It is a lightweight alternative to using Docker as the runtime for Kubernetes (K8s).” CRI-O allows K8s to use any OCI-compliant runtime for running pods. CRI-O has support for OCI container images and is able to pull from any container registry.

Cri O Architecture

CRI-O has been gaining in popularity as a replacement for Docker service as the container engine for Kubernetes implementations. CRI-O is developed with contributors from large organizations such as, Red Hat, Intel, SUSE, and IBM. As such, CRI-O is becoming easier to use with Kubernetes implementations like Red Hat Openshift Container Platform.

Monitoring CRI-O

CRI-O has a built-in utility, conmon, used for monitoring the containers. conmon handles logging from the container process and detects out of memory situations. As noted on the GitHub page, conmon does two things while the container runs:

  • Provides a socket for attaching to the container, holding open the container’s standard streams and forwarding them over the socket.
  • And, writes the contents of the container’s streams to a log file so they can be read after the container’s death.

Additionally, upon the container’s death, conmon will record the exit time and code to be read by the managing programs.

To effectively monitor a container-based application you need visibility at the host, container, component, and code level. While conmon does help monitor the state of the containers themselves, it does not offer any monitoring capabilities beyond. Because of this, conman does not provide the holistic view needed to ensure an exceptional customer experience.

How to Monitor CRI-O with Instana

Instana has long been dedicated to providing the most seamless way to discover and monitor containerized applications regardless of which container runtime you use. To discover all containers and components running in your environment, simply install the Instana Agent onto the host. Once a container or component is discovered, the Agent automatically deploys the appropriate monitoring sensors and begins tracing and analyzing every application request. A combination of machine learning and preset health rules are leveraged by Instana to automatically determine the health of every application and infrastructure component.

Metrics – Instana automatically detects CRI-O running on the host and, with no manual effort, deploys and configures Instana’s CRI-O monitoring sensor. By referencing its curated knowledge base, Instana understands which performance metrics are relevant to collect and must be configured. Instana’s automatic configuration for CRI-O tracks CPU usage, memory usage, Block IO amongst others.

Word Image 130
Health – The Instana sensor for CRI-O also automatically collects KPIs on the CRI-O process to determine its health. Instana uses health signatures from its curated knowledge base to raise Issues or Incidents depending on user impact. For example, when the container memory usage exceeds a specified limit a memory warning threshold or critical threshold alert is displayed.

How to Monitor CRI-O Based Microservice Applications with Instana

With just a single, lightweight agent per host, Instana automatically monitors your entire CRI-O based microservices environment. Once the agent is installed, every container on that host sends monitoring data through the agent, while minimizing overhead. Instana then automatically traces every application request flowing through your environment and pulls together each distributed trace for a full, end-to-end view of every request. Instana never uses partial traces or sampling of any kind so you’ll always have a complete data set to identify the root cause of any problematic request.

Word Image 131

To ensure you’re able to update your services as often as you need without fear of regressions impacting your customers, Instana automatically analyzes every issue and change. Instana automates the correlation of all trace data with the underlying container and host metrics, providing automatic root cause analysis in seconds.

Instana’s CRI-O 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 CRI-O is doing and its impact on user requests at all times. To see Instana’s CRI-O monitoring in action sign up for a free trial of Instana today.

Play with Instana’s APM Observability Sandbox

Announcement, Featured
IBM Instana is a leader in the Winter 2023 Application Performance Monitoring Grid Report by G2. IBM Instana was featured in more than 94 G2 reports, earning a leadership status across 28 reports, ranging...
|
Developer, Product
By Jeya Gandhi Rajan M  This article explains how to create an application or application Perspective in Instana. Pre-Requisite: The Kubernetes-based application is deployed in an OpenShift container platform or on Kubernetes cluster....
|
Announcement, Featured
IBM Instana has achieved leadership status in the Fall 2022 Application Performance Monitoring Grid Report by G2. This accomplishment comes months after Instana was recognized by Gartner® Magic Quadrant™ for Application Performance Monitoring and Observability, and...
|

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 instana.com.