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. Instana’s comprehensive LXC monitoring goes beyond simple container metrics with automatic discovery, deployment, configuration, health determination, and performance monitoring at multiple levels:
- Automated discovery and monitoring of each LXC container
- Automated discovery of technologies operating within all LXC containers
- Real-time dependency mapping and monitoring of all applications running across the entire system
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. Monitoring an LXC environment and the applications running on those containers requires the ability to understand how different application components run within an LXC environment.
As is the case with all container based applications, Managing LXC based applications requires performance visibility at the host, container, component, and code level. Instana provides the quickest and easiest way to discover and monitor LXC applications. After a quick installation of the Instana agent into the virtual or physical host, the agent automatically discovers all containers and software components running in the environment, deploys all appropriate monitoring sensors, and begins tracing every application request end-to-end. Additionally, Instana automatically determines the health of the applications and the application components.
The Instana agent will automatically identify LXC running on the system resources and will deploy and configure Instana’s LXC sensor. Instana leverages its curated knowledge base that already knows what performance metrics are relevant for collection and what parameters are required to achieve that. Specifically, Instana’s automatic configuration for LXC is set to track things like Name, IP, PID, State, Privileged, Network Interface, and Filesystem per Device.
Typical LXC monitoring metrics include:
- CPU Usage (kernel,user)
- Active anon memory
- Active file memory
- Memory usage
- Cache memory
For the entire list of performance metrics, please refer to Instana’s LXC documentation.
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.