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 extended Application Performance Monitoring (eAPM) agent is an integration of the extended Berkeley Packet Filter (eBPF) technology into New Relic's platform. The eAPM agent offers a new method for monitoring Kubernetes services, allowing customers to monitor their services without the need for language-specific agents. The eAPM agent collects data directly from the kernel, providing valuable insights into the performance of services running on the Kubernetes cluster.
The New Relic eAPM agent is installed on each node of the Kubernetes cluster. After installation, the eAPM 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 eAPM 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 eAPM 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 eAPM and APM
The eAPM 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 eAPM and APM agents are:
Functionality | eAPM 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 eAPM agent
A New Relic eAPM agent is installed on each node of your cluster. You can install the eAPM 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 eAPM agent on your Kubernetes cluster. It offers pre-built resources and configurations to simplify the installation process.
To install the eAPM 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 eAPM agent is installed on each node of your cluster. For example, if you have three nodes in a Kubernetes cluster, then one eAPM agent is installed on each node. No additional configuration is required for this.
Manual Installation
Add the New Relic eAPM 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 eAPM 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 eAPM 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 eAPM Helm chart offers multiple configuration options. Review the
value.yaml
file to tailor the installation to your needs.
Access the eAPM-powered APM UI
To access the eAPM-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 eAPM agent generates data to power the New Relic APM experience, eliminating the need for additional custom instrumentation in your codebase.
How eAPM agent and APM works together
eAPM and New Relic APM agents are designed to complement one another. For example, a customer can begin by deploying the eAPM 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 eAPM 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 eAPM 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 eAPM 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 eAPM 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.