Preview
We're still working on this feature, but we'd love for you to try it out!
This feature is currently provided as part of a preview pursuant to our pre-release policies. It is not available to customers subject to HIPAA or FedRAMP regulations.
The New Relic eBPF agent uses the extended Berkeley Packet Filter (eBPF) technology to monitor your Kubernetes cluster into New Relic's platform. The eBPF agent offers a new method for monitoring Kubernetes services, allowing customers to monitor their services without the need for language-specific agents. The eBPF agent collects data directly from the kernel, providing valuable insights into the performance of services running on the Kubernetes cluster.
The New Relic eBPF agent is installed on each node of the Kubernetes cluster. After installation, the eBPF agent:
- Detects all services running on the Kubernetes cluster.
- Collect the necessary data from the kernel.
- Send the data to the New Relic platform.
You can view the eBPF instrumentation data in the APM UI to provide performance insights for the services running on the Kubernetes cluster.
This data is populate in the APM UI to provide the performance insights for the services running on the Kubernetes cluster.
Key features
Features of the eBPF agent integration include:
- Zero-code instrumentation: Simplifies the monitoring process by eliminating the need for manual code instrumentation, reducing deployment complexity, and maintenance overhead.
- Comprehensive observability: Enables detailed visibility into application and network performance, helping to quickly identify and resolve issues.
- Low-resource overhead: Operates efficiently with minimal impact on system resources, leveraging its position within the kernel.
- Future security enhancements: Lays the groundwork for advanced security features such as runtime threat detection and policy enforcement.
Key differences between eBPF and APM
The eBPF integration is a new way to monitor Kubernetes services, offering a different approach to monitoring services compared to the traditional APM agent. The key differences between the eBPF and APM agents are:
Functionality | eBPF agent | APM agent |
---|---|---|
Summary | ✅ | ✅ |
Transaction | ✅ | ✅ |
Database OPS | ✅ | ✅ |
External Service | ❌ | ✅ |
Distributed Tracing | ❌ | ✅ |
Programming language agnostic | ✅ | ❌ |
Custom Instrumentation | ❌ | ✅ |
Auto-discover apps and services continuously | ✅ | ❌ |
Deduplicate Data Ingestion from eBPF | ✅ | ✅ |
Linux support | ✅ | ✅ |
Windows support | ❌ | ✅ |
TCP and DNS telemetry | ✅ | ❌ |
Does not require additional container | ✅ | ❌ |
Agent | One per Node | One per App |
Telemetry Data Source | eBPF | APM language agent |
Installation of eBPF agent
A New Relic eBPF agent is installed on each node of your cluster. You can install the eBPF agent on your existing Kubernetes cluster using one of the following methods:
Prerequisites
- Ensure that your Linux kernel version is v4.14 or above.
- Ensure that all Kubernetes integration compatibility and requirements are met.
Guided installation
The guided installation method is the easiest way to install the eBPF agent on your Kubernetes cluster. It offers pre-built resources and configurations to simplify the installation process.
To install the eBPF agent:
Log in to your New Relic account.
Go to left navigation pane > + Integration & Agents > Guided install > Kubernetes.
Select the instrumentation method from one of the following displayed options:
- Guided: For integration using New Relic CLI.
- Helm: For integration using New Relic Helm charts.
- Manifest: For integration using New Relic Manifests.
Click Continue.
On the Enter your user key screen, select one of the following options, then click Continue:
- Use an existing key: If you already have a user key, provide the user key. For more information, refer to User keys.
- Create a new key: If you don't have a user key, click Create a new key to create one.
On the Configure the Kubernetes integration screen, enter the following information, then click Continue:
- Choose a Kubernetes cluster name: Enter your Kubernetes cluster name. This name must be the same as your Kubernetes cluster name. If the cluster is already instrumented in New Relic, select the cluster from the drop-down list.
- Namespace for the integration: Enter the namespace for the integration. The default namespace is
newrelic
. - Configure the Kubernetes operation mode: If you are using the Google Kubernetes Engine (GKE), enable the Are you using a GKE Autopilot cluster? option.
On the Scrape Prometheus data screen, select the applicable Prometheus data you want to scrape, then click Continue.
(Optional) On the Enable APM auto-instrumentation screen, if required, enable the Activate APM auto-attach, and then click Continue. For more information, refer APM auto-instrumentation.
On the Gather Log data screen, select the applicable options to forward log data, then click Continue.
On the Install the Kubernetes integration screen, click Copy to clipboard, then paste it to your host terminal.
After the installation is completed, click Continue.
(Optional) If you have enabled the APM auto-instrumentation, the Configure APM auto-instrumentation screen displays. Set the APM auto-instrumentation parameters as required, then click Continue.
On the Test the connection screen, click Test connection to verify the installation.
tip
During the installation, the eBPF agent is installed on each node of your cluster. For example, if you have three nodes in a Kubernetes cluster, then one eBPF agent is installed on each node. No additional configuration is required for this.
Manual Installation
Add the New Relic eBPF Helm chart to your existing Kubernetes cluster.
Prerequisites:
- Download the
value.yaml
file. - You must have a valid New Relic ingest key. For more information, refer to New Relic Keys.
To manually install the eBPF agent:
Open the
value.yaml
file in your code editor.Enter your Kubernetes cluster name for the
cluster
attribute. This name must be the same as your Kubernetes cluster name.Add the New Relic ingest key for the
licenseKey
attribute.Save the
value.yaml
file in your Kubernetes cluster.To add the New Relic Helm chart repository, run:
bash$helm repo add newrelic https://helm-charts.newrelic.comTo install the eBPF agent Helm chart, replace
your-custom-values.yaml
with the path to yourvalues.yaml
file, run:bash$helm upgrade nr-ebpf-agent newrelic/nr-ebpf-agent -f your-custom-values.yaml -n newrelic --create-namespace --install(Optional) To view pod deployment status in real-time, run:
bash$kubectl get pods -n newrelic --watchtip
The eBPF Helm chart offers multiple configuration options. Review the
value.yaml
file to tailor the installation to your needs.
Access the eBPF-powered APM UI
To access the eBPF-powered APM UI:
- Go to https://one.newrelic.com > APM & Services.
- In the search banner, set the search criteria as
instrumentation.name = nr_ebpf
:After the search is completed, a list of entities is displayed. The entity name for each service matches the service name in the Kubernetes cluster.
Find and use data
The eBPF agent generates data to power the New Relic APM experience, eliminating the need for additional custom instrumentation in your codebase.
How eBPF agent and APM works together
eBPF and New Relic APM agents are designed to complement one another. For example, a customer can begin by deploying the eBPF agent on their cluster using the guided or manual installation process. This agent automatically detects and reports all services within the cluster, providing a streamlined approach without the need to select a specific language agent. All services are reported collectively and promptly.
Following the initial deployment, customers can evaluate the auto-discovered services and decide which ones require the comprehensive monitoring features of the full APM solution, including distributed tracing.
When a service is upgraded to full APM monitoring, the eBPF agent stops collecting telemetry data for that service to avoid duplicate charges. Additionally, please note that the service will now be represented as a new entity, distinct from the one previously reported by eBPF, which will no longer receive data.
Pricing information
Your use of the New Relic eBPF agent is billable during preview in accordance with your Order. The costs associated with this feature are determined by the following factors, as applicable to the pricing model associated with your account:
- Data Ingest: Charges may be based on the volume of data ingested, measured in GB ingested. This includes all data collected by the eBPF agent and transmitted to the New Relic platform.
- APM UI Usage: Charges may be incurred based on the utilization of the APM User Interface, measured in Compute Capacity Units (CCU) for the Core Compute Product.
For further details on pricing, please contact our sales team or refer to your Order.
TIP
New Relic does not recommend installing both eBPF and Pixie on the same cluster. Since they both use eBPF, running these tools simultaneously may lead to excessive resource consumption and potentially degrade your cluster's performance.