-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
--- | ||
title: "New Relic eBPF-powered APM on K8s" | ||
--- | ||
|
||
|
||
<Callout variant="caution" title="Preview"> | ||
We're still working on this feature, but we'd love for you to try it out! | ||
New Relic's proprietary and confidential information. For authorized users only. Unauthorized uses and disclosures are prohibited. | ||
Check notice on line 8 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L8
Raw output
|
||
This feature is currently provided as part of a preview pursuant to our [pre-release policies](https://docs.newrelic.com/docs/licenses/license-information/referenced-policies/new-relic-pre-release-policy/). | ||
Check notice on line 9 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L9
Raw output
|
||
</Callout> | ||
|
||
|
||
The extended Berkeley Packet Filter (eBPF) integration into New Relic's platform provides a new way to monitor [Kubernetes](https://docs.newrelic.com/docs/kubernetes-pixie/kubernetes-integration/get-started/introduction-kubernetes-integration/) services using eBPF technology. This feature allows customers to monitor their Kubernetes services without the need for language-specific agents. The eBPF agent collects data from the kernel and provides insights into the performance of the services running on the Kubernetes cluster. | ||
Check notice on line 13 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L13
Raw output
Check notice on line 13 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L13
Raw output
|
||
|
||
New Relic eBPF integration is installed on the each node of the Kubernetes cluster. After installation: | ||
Check notice on line 15 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L15
Raw output
|
||
|
||
* the eBPF agent detects all the services running on the Kubernetes cluster, | ||
* Collects the required data from the kernel, and | ||
* Sends it to the New Relic platform. | ||
|
||
The data is then used to populate the APM UI, providing insights into the performance of the services running on the Kubernetes cluster. | ||
|
||
Features of the eBPF 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. | ||
Check notice on line 26 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L26
Raw output
|
||
* **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. | ||
|
||
|
||
## Prerequisites for installation | ||
|
||
* What are the requirements to install eBPF integration? any specific requirements other than K8S integration? | ||
|
||
* Make sure that all the [Kubernetes integration compatibility and requirements](/docs/kubernetes-pixie/kubernetes-integration/get-started/kubernetes-integration-compatibility-requirements/) are met. | ||
Check notice on line 35 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L35
Raw output
|
||
|
||
|
||
|
||
## Installation of eBPF agent | ||
|
||
You can install the eBPF agent on your Kubernetes cluster in one of the following ways: | ||
|
||
- [Guided installation](#guided-installation) | ||
- [Helm chart](#helm-chart) | ||
|
||
|
||
### 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 configuration to simplify the installation process. | ||
|
||
To install the agent, follow these steps: | ||
|
||
1. Go to <dnt>[one.newrelic.com](https://one.newrelic.com/) > <DNT>**+ Integration & Agents**</DNT> > <DNT>**Guided install**</DNT> > <DNT>**Kubernetes**</DNT></dnt>. | ||
2. Select the instrumentation method as <dnt>**Guided**</dnt> then click **Continue**. | ||
3. On the <dnt>Enter your user key</dnt> screen, select one of the following option then click **Continue**: | ||
- <dnt>**Use an existing key**</dnt>: If you already have a user key, provide the user key. For more information, refer to [User keys](/docs/apis/intro-apis/new-relic-api-keys/#user-key). | ||
Check notice on line 56 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L56
Raw output
|
||
- <dnt>**Create a new key**</dnt>: If you don't have a user key, click **Create a new key** and provide the required information. | ||
Check notice on line 57 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L57
Raw output
|
||
4. On the **Configure the Kubernetes integration** screen, enter the following information, and then click **Continue**: | ||
- **Choose a Kubernetes cluster name**: Enter your Kubernetes cluster. | ||
- **Namespace for the integration**: Enter the namespace where you want to install the integration. The default namespace is `newrelic`. | ||
- **Configure the Kubernetes operation mode:** If you are using the Google Kubernetes Engine (GKE), enable the <dnt>**Are you using a GKE Autopilot cluster?**</dnt>. option. | ||
5. On the **Scrape Prometheus data** screen, select the applicable Prometheus data you want to scrape, and then click **Continue**. | ||
6. On the **Enable APM auto-instrumentation** screen, if you want enable the **Activate APM auto-attach**, and then click **Continue**. For more information on APM auto-instrumentation, refer to [APM auto-instrumentation](/docs/kubernetes-pixie/kubernetes-integration/installation/k8s-agent-operator/). | ||
7. On the **Gather Log data** screen, select the applicable options to forward the log data, and then click **Continue**. | ||
8. On the **Install the Kubernetes integration** screen, copy the command and paste on your host terminal. | ||
9. After the installation is complete, click **Continue**. | ||
10. On the **Test the connection** screen, click **Test connection** to verify the installation. | ||
|
||
|
||
### Helm chart | ||
|
||
|
||
|
||
* Make sure that all the [Kubernetes integration compatibility and requirements](/docs/kubernetes-pixie/kubernetes-integration/get-started/kubernetes-integration-compatibility-requirements/) are met. | ||
Check notice on line 74 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L74
Raw output
|
||
* Are we supporting this method? If yes, does the steps is same as Kubernetes Helm chart Integration or anything else is required.???? | ||
Check notice on line 75 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L75
Raw output
|
||
|
||
{/* Following steps are described in the LP: | ||
Check notice on line 77 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L77
Raw output
|
||
* On the Kubernetes cluster of your choice, install the eBPF helm chart according to [this link](https://github.com/newrelic/helm-charts/blob/master/charts/nr-ebpf-agent/README.md). Please follow the details in the README such as including the proper New Relic License key. | ||
* Now you are ready to move onto the next step. */} | ||
|
||
|
||
## Access the eBPF-powered APM UI [#ebpf-access] | ||
|
||
I HAVE UPDATE THE BELOW STEPS AS PER THE DEMO COULD YOU PLEASE CONFIRM IF IT IS STILL TRUE? | ||
Check warning on line 84 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L84
Raw output
Check notice on line 84 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L84
Raw output
Check failure on line 84 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L84
Raw output
|
||
|
||
To access the eBPF-powered APM UI: | ||
|
||
1. Go to [https://one.newrelic.com](https://one.newrelic.com) > **APM & Services**. | ||
2. In the search banner, set the search criteria as `instrumentation.name = nr_ebpf`: | ||
<img | ||
title="eBPF Search" | ||
alt="A screenshot showing the eBPF search bar" | ||
src="/images/ebpf_filters.webp" | ||
/> | ||
After the search is completed, a list of entity is displayed. The entity name for each service is the same as the name of the service name in Kubernetes cluster. | ||
Check notice on line 95 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L95
Raw output
Check notice on line 95 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L95
Raw output
|
||
<Callout variant="tip" title="TIP"> | ||
Some entities can display an IP address such as `10.0.10.1` instead of the entity name such as `shopping-cart-service` as eBPF cannot resolve these service names via Kubernetes metadata and has to use the raw IP addresses. | ||
Check failure on line 97 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L97
Raw output
|
||
</Callout> | ||
4. On the **OpenTelemetry APM Summary** page, click the toggle labeled **Enable APM + OpenTelemetry preview**. Once you've selected this toggle, you'll be able to see the new view for the following pages. | ||
|
||
Please note: these are the only pages that are covered in this Limited Preview (refer to the subsequent section for details). | ||
Check notice on line 101 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L101
Raw output
Check notice on line 101 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L101
Raw output
|
||
* Summary | ||
* Transactions | ||
|
||
DOES THE ABOVE statement STILL HOLDS TRUE? AS PER MY UNDERSTANDING FROM RAM'S DEMO, WE ARE SUPPORTING EVERYTHING EXCEPT DISTRIBUTED TRACING AND MULTI SPAN TRANSACTION. COULD YOU PLEASE CONFIRM? | ||
Check notice on line 105 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L105
Raw output
Check warning on line 105 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L105
Raw output
Check failure on line 105 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L105
Raw output
|
||
|
||
### UI screen details for the Limited Preview [#ui-screen] | ||
|
||
AS PER MY UNDERSTANDING WE SHOULD REPLACE THIS SECTION AND SUBSECTION WITH A LIMITATION SECTION? COULD YOU PLEASE CONFIRM IT IS CORRECT? | ||
Check notice on line 109 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L109
Raw output
Check warning on line 109 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L109
Raw output
Check failure on line 109 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L109
Raw output
|
||
|
||
The New Relic APM experience is populated using data generated by eBPF agent, without any New Relic APM instrumentation. | ||
Check notice on line 111 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L111
Raw output
|
||
|
||
This LP will populate most - but not all - of the New Relic APM components in these views. Please enable the “APM + OpenTelemetry preview” toggle for optimal experience. | ||
|
||
{/* The following is a description of how the UI will behave: | ||
#### Summary page [#ebpf-summary] | ||
|Component | eBPF-powered APM Limited Preview | | ||
Check notice on line 119 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L119
Raw output
|
||
|---|---| | ||
|Chart: Web Transaction Time|✅ Metric: apm.service.transaction.duration synthesized via eBPF data| | ||
|Chart: Apdex| ✅ Supported | | ||
|Chart: Throughput |✅ Metric: apm.service.transaction.duration synthesized via eBPF data| | ||
|Chart: Error Rate| ✅ Metric: Metric: apm.service.error.count synthesized via eBPF data| | ||
|Table: Transactions|Only showcase HTTP methods. Will include URL routes next| | ||
|Component: Distributed Tracing Insights|Not available in LP| | ||
Check notice on line 126 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L126
Raw output
|
||
#### Transactions [#ebpf-transactions] | ||
|Component | eBPF-powered APM Limited Preview | | ||
Check notice on line 130 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L130
Raw output
|
||
|---|---| | ||
|Billboards: Transaction overview|✅ Most time consuming | ||
| | Slowest avg response time | | ||
| | Highest error rate | | ||
| | Highest throughput | | ||
| | Apdex by most dissatisfying | | ||
|Chart: Top 20 Transactions | Only HTTP methods are shown | | ||
Check notice on line 137 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L137
Raw output
|
||
|Chart: Time consumed by top transactions (Average)| Note that the chart here does not distinguish between Web or Others (NR APM does).| | ||
Check failure on line 138 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L138
Raw output
|
||
|Chart: Time consumed by top Web transactions (Histogram)|✅Per histograms reported by eBPF| | ||
|Chart: Time consumed by top Web transactions (Percentiles)|✅Supported| | ||
|Chart: Throughput|Area chart powered by the metric apm.service.transaction.duration| | ||
|Table: Transaction traces|Not supported in LP| */} | ||
|
||
### Limitations | ||
|
||
The following features are not supported in the current version of the eBPF integration: | ||
Check failure on line 146 in src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx GitHub Actions / vale[vale] src/content/docs/kubernetes-pixie/kubernetes-integration/installation/ebpf-installation.mdx#L146
Raw output
|
||
|
||
* Distributed tracing | ||
* Multi-span transactions | ||
|