September 16, 2024
Introducing The eBPF Agent: A New, No-Code Approach for Cloud-Native Observability
Written by: Ravina Khanna
Additional contributor: Sasanka Pusapati |
Key Takeaways
|
|
Microservices architecture has become a dominant approach for building scalable, resilient, and flexible applications. However, monitoring these microservices presents unique challenges due to their distributed nature, fixed or limited resources, enterprise scale, and the dynamic nature of environments, such as Kubernetes clusters. The result is that in-process application agents often introduce significant overhead because they rely on intrusive instrumentation and frequent polling. Quite simply, they are heavy agents.
Adopting microservices (eBPF) agents for monitoring helps teams address critical needs for a low-overhead, real-time, and non-intrusive monitoring solution in dynamic and resource-constrained environments. eBPF agents are lightweight and powerful!
Before diving into the enchanting world of eBPF monitoring, let’s unravel the mystery of eBPF itself. Imagine eBPF as a magical lens—a way to peer into the inner workings of your Linux system for cloud-native observability. Here’s what the eBPF agent can do:
- System calls and network traffic: eBPF can monitor system calls, network traffic, and system behavior in real time. It’s like having a wizard’s crystal ball that reveals hidden secrets.
- Granularity galore: With eBPF, you can trace performance data on a process-by-process basis. Whether for individual containers, specific processes, or entire applications, eBPF offers unparalleled granularity.
- Security sorcery: Some IT solutions wield eBPF for runtime security auditing and incident response. It’s the guardian at the castle gates that ensures your system stays safe.
Feature comparison of in-process and eBPF agents
Feature | In-process agent | eBPF agent |
Agent execution space | Inside application (user-space) execution | Outside monitoring |
Overhead and performance impact | Higher overhead; intrusive | Low overhead; non-intrusive |
Scope of monitoring | Application-specific monitoring; limited to the application | System-wide monitoring; application-agnostic |
Architectural comparison
eBPF agent: A powerful solution for cloud-native monitoring
DX Operational Observability (DX O2) helps teams contend with the explosive growth in monitoring data, infrastructure complexity, and business demands. The product enables end-to-end observability across the entire digital delivery chain and empowers IT operations teams with actionable insights to efficiently manage modern and complex environments.
The eBPF agent is a powerful addition to the DX Operational Observability ecosystem. It provides dynamic instrumentation by inserting probes into the running system, without requiring restarts or recompilation. Here are some key features:
- Dynamic instrumentation: The eBPF agent dynamically inserts probes into the system, allowing on-the-fly instrumentation. This avoids disruption since there is no need for teams to restart or recompile applications.
- Kernel-level metrics collection: The eBPF agent leverages Linux kernel-level API calls that are consistent across all hosts in the cluster. This ensures uniform collection of observability metrics. To help teams monitor the health and performance of applications, it provides three key performance indicators (KPIs):
- Responses per interval
- Errors per interval
- Average response time
- Language-agnostic, broad support: The eBPF agent natively supports applications built using Java, .NET, PHP, NodeJS, Python, Golang, or C++. With native support for these widely adopted technologies, eBPF can readily correlate the full stack monitoring data it gathers as transactions transverse complex IT estates. Teams benefit from an intuitive presentation of the application flow topology.
- Near-zero overhead: The agent sits outside the application pod. This minimizes overhead while still providing valuable insights.
Universal Monitoring Agent (UMA) features a microservices agent that runs as part of UMA daemonset pods (app-container-monitor). The UMA acts as a single agent deployment that automatically discovers and monitors Kubernetes and Red Hat OpenShift containers, applications, and cluster services.
The eBPF agent: Innovative, powerful, and enchanting!
The new eBPF monitoring agent provides comprehensive insights into the performance and interactions of frontends, backends, and application flows (AppFlow). It provides teams with outside-in monitoring of applications for cloud-native observability, without requiring changes to the applications.
There will be situations where in-process agents provide distinct benefits. However, given changes in application architectures and the monitoring needs and constraints that teams face, these occasions are more the exception than the norm. Choosing between a microservices (eBPF) agent and an in-process application agent depends on your specific requirements, such as the level of detail needed, the acceptable overhead, and whether system-wide or application-specific monitoring is desired.
Ravina Khanna
Ravina Khanna is a Product Manager on the AIOps and Observability team at Broadcom. She covers a number of technology areas including ingestion agents for application performance management and synthetic monitoring. She applies her extensive experience building and managing enterprise products to extend solution...
Other posts you might be interested in
Explore the Catalog
Blog
December 13, 2024
Full-Stack Observability with OpenTelemetry and DX Operational Observability
Read More
Blog
December 6, 2024
Power Up Your Alarms! Enriched UIM Alarms for Added Intelligence
Read More
Blog
November 26, 2024
Topology: Services for Business Observability
Read More
Blog
November 22, 2024
Regular Expressions That I Use Regularly
Read More
Blog
November 22, 2024
Cloud Application Performance: Common Reasons for Slow-Downs
Read More
Blog
November 4, 2024
Unlocking the Power of UIMAPI: Automating Probe Configuration
Read More
Blog
October 4, 2024
Capturing a Complete Topology for AIOps
Read More
Blog
October 4, 2024
Fantastic Universes and How to Use Them
Read More
Blog
September 26, 2024