Automated Monitoring for

January 13, 2020

Instana - Enterprise Observability and APM for Cloud-Native Applications

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, Developer, Featured, Product, Thought Leadership
AWS Lambda, the serverless functions (or FaaS) offering from Amazon continues to grow in usage, both overall and in production applications. One of the biggest challenges is how to trace and monitor...
Developer, Engineering, Featured
This is the fourth post in a series on the Life of an SRE at Instana. Check out the first post, second post and third post. Detect certificate problems Here is an...
Announcement, Product
From Instana’s inception we have believed that in order for our users to get the most out of an Application Performance Monitoring (APM) platform we needed to lower the barriers of entry...

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