Post

Monitoring LXC Based Microservice Applications

August 27, 2019

What is LXC?

According to linuxcontainers.org “LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage systems or application containers.”

Lxd

LXC has been in active development since 2008, and is still used in many active production environments. As noted in GitHub, “LXC’s main focus is system containers. That is, containers which offer an environment as close as possible as the one you’d get from a VM but without the overhead that comes with running a separate kernel and simulating all the hardware.” LXC achieves this through a combination of kernel security features, mandatory access control, and control groups.

How to monitor LXC

In order to monitor LXC and its applications you need to understand how different components run and interrelate within the LXC environment. LXC does offer some monitoring capabilities with lxc-monitor. lxc-monitor monitors the state of containers and their resource utilization. But, to effectively monitor a container-based application requires visibility at the host, container, component, and code level. Lxc-monitor does not offer any monitoring capabilities beyond the container itself and therefore falls short of the holistic view needed to ensure an excellent customer experience in a production environment.

How to monitor LXC with Instana

Instana provides the most efficient way to discover and monitor containerized applications no matter which container runtime you’re using. Simply 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 uses a combination of machine learning and preset health rules to automatically determine the health of the applications and infrastructure components. Metrics – With no manual effort required, Instana automatically identifies LXC running on the host and deploys and configures Instana’s LXC 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 LXC tracks things like CPU usage (Kernel,user), memory usage, cache memory, and network RX/TX bytes.

Containerd Metrics Screenshot 1

Health – In addition to automatically collecting performance metrics, the Instana LXC monitoring sensor automatically collects KPIs on the LXC 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 LXC based microservice applications with Instana

Monitoring LXC based microservices with Instana requires just a single agent per host. 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 are no 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.

Containerd Distributed Trace 1

With Instana, you’ll benefit from full analysis of every user impact – performed automatically. By automating the correlation of all trace data with the underlying container and host metrics, Instana provides root cause analysis within a few seconds. This enables you to update your services as often as you need to without worrying if there are regressions impacting your customers.

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

Play with Instana’s APM Observability Sandbox

Announcement, Product, Thought Leadership
Kubernetes, Kubernetes Monitoring and KubeCon I have vivid memories of the first KubeCon that I attended – it was in Austin, and it SNOWED. I was also pretty blown away by the...
|
Conceptual, Featured, Thought Leadership
Building scalable systems has become more accessible over the past decade thanks to immutable infrastructure, containers, and orchestration platforms such as Kubernetes. As the complexity of these applications continues to accelerate the...
|
Developer, Featured, Thought Leadership
Building reliable services is not an easy task. With looking into creating a resilient microservices based infrastructure, things won’t get any simpler. As part of this blog post series I’d like to...
|

Start your FREE TRIAL today!

As the leading provider of Automatic Application Performance Monitoring (APM) solutions for microservices, Instana has developed the automatic monitoring and AI-based analysis DevOps needs to manage the performance of modern applications. Instana is the only APM solution that automatically discovers, maps and visualizes microservice applications without continuous additional engineering. Customers using Instana achieve operational excellence and deliver better software faster. Visit https://www.instana.com to learn more.