---
title: eBPF compatibility and requirements
source: https://docs.newrelic.com/docs/ebpf/requirements
---

This page provides comprehensive compatibility information for the New Relic eBPF agent, including supported databases, deployment requirements, and data querying capabilities that apply to all installation methods.

## For Kubernetes

-   Ensure that all [Linux distribution requirements](https://docs.newrelic.com/docs/ebpf/requirements/#kernel-requirements) are met for Kubernetes node.

### Kubernetes environments [#kubernetes-environments]

The following Kubernetes environments are supported:

-   Amazon Elastic Kubernetes Service (EKS)
-   Google Kubernetes Engine (GKE)
-   Azure Kubernetes Service (AKS)
-   Oracle Kubernetes Engine (OKE)
-   Red Hat OpenShift
-   Microk8s

### Container runtime support [#container-runtime]

The following container runtimes are supported:

-   Docker default runtime (runc)
-   containerd
-   CRI-O
-   Podman
-   Youki
-   crun

## For Linux

### Kernel requirements [#kernel-requirements]

-   Linux kernel versions:
    -   `x86-64` (amd64): `v5.8` to `v7.1`
    -   `arm64` (aarch64): `v5.8` to `v7.1`

> #### ⚠️ IMPORTANT
>
> Some Linux distributions allow you to run older kernel versions on newer OS releases. Even if your distribution is [listed below](#supported-linux-distributions), the eBPF agent won't function if the kernel version is lower than `5.8`. The same applies to newer kernels: The agent won't function on versions above the supported range.

### Supported Linux distributions [#supported-linux-distributions]

The following Linux distributions are supported:

-   CentOS `9` and above
-   Debian `11` and above
-   Red Hat Enterprise Linux `9.0` and above
-   Ubuntu `20.04` and above
-   Amazon Linux `2` and `2023`
-   Bottle Rocket `1.51.0` and above
-   AlmaLinux `9.7` and above
-   Oracle Linux `8` and above
-   openSUSE Leap `15.5` and above
-   SLES `15.7` and above

### System requirements [#system-requirements]

-   Root privileges (Required for installation and operation)
-   A minimum of `2 GB` of RAM

### Database support matrix [#database-support]

The eBPF agent can monitor the following databases and their supported versions:

| Database     | Supported Versions  |
| ------------ | ------------------- |
| MySQL        | `v5.6.51` and above |
| MariaDB      | `v5.5` and above    |
| Aurora MySQL | `v5.7` and above    |
| MongoDB      | `v3.6.23` and above |
| Redis        | `v3.2.12` and above |
| PostgreSQL   | `v9.6.24` and above |
| MSSQL        | `v14.x` and above   |
| DynamoDB     | `v2.0.0` and above  |

### Additional protocol support [#protocol-support]

The eBPF agent also supports monitoring these protocols:

-   HTTP
-   Apache Thrift
-   gRPC
-   Cassandra
-   Kafka
-   AMQP

    > #### 💡 TIP
    >
    > For Cassandra, Kafka, and AMQP, the eBPF agent does not support segment linking.

### Thrift support matrix [#thrift-support]

The eBPF agent supports the following Thrift transport protocols and transport layers:

| Type                | Supported                                              |
| ------------------- | ------------------------------------------------------ |
| Transport protocols | `TBinaryProtocol`, `TCompactProtocol`, `TJSONProtocol` |
| Transport layers    | `TSocket`, `TFramedTransport`, `TZlibTransport`        |

### Network requirements [#network-requirements]

All eBPF deployments require access to these endpoints:

| Requirement Type        | Details                                                                                                                                                                                 |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| URL allowlist           | `otlp.nr-data.net:443` `otlp.eu01.nr-data.net:443` (EU region) `otlp.jp.nr-data.net:443` (JP region) `gov-otlp.nr-data.net:443` (GOV/FedRAMP accounts) `https://downloads.newrelic.com` |
| Port allowlist          | For external communication enable the port `443`                                                                                                                                        |
| Mount path requirements | Root filesystem (`/`) System filesystem (`/sys`)                                                                                                                                        |

> #### 💡 TIP
>
> The eBPF monitoring is language-agnostic and provides latency and throughput metrics for any application. However, [transaction segment linking](https://docs.newrelic.com/docs/apm/transactions/intro-transactions/transactions-new-relic-apm/#segments) is language-dependent and currently not supported for PHP and Node.js.

If your environment routes outbound traffic through a corporate HTTP proxy, see [Configure a proxy for the eBPF agent](https://docs.newrelic.com/docs/ebpf/proxy-configuration) for setup instructions.

/\* ## Querying eBPF data \[#querying-data]

Once the eBPF agent is deployed, telemetry data flows to New Relic and can be queried using NRQL. Here are common query patterns:

\### Query spans

Including full-body requests and trace data:

\`\`\`sql
FROM Span
SELECT \* WHERE
deployment.name = '&lt;deployment-name>' LIMIT MAX
\`\`\`

\### Query metrics

Including TCP stats and performance metrics:

\`\`\`sql
FROM Metric
SELECT \* WHERE
deployment.name = '&lt;deployment-name>' LIMIT MAX
\`\`\`


  Replace \`&lt;deployment-name>\` with the actual deployment name you configured during installation.


\### Entity naming

The eBPF agent automatically generates entity names differently depending on the environment:

\* \*\*In hosts or Docker\*\*: Names are a combination of the process name, its directory or container ID, and the listening port. For example, \`ruby:/home/ubuntu/app:\[5678]\` or \`java:f4aead533895:\[8080]\`.

\* \*\*In Kubernetes\*\*: Names are derived from the service name, for example, \`mysql-database-service\`.

\## Data access in New Relic \[#data-access]

eBPF data is accessible through multiple New Relic interfaces:

1\. \*\*APM & Services UI\*\*: Go to \*\*\[one.newrelic.com](https&#x3A;//one.newrelic.com) > APM & Services\*\* and filter by \`instrumentation.name = nr_ebpf\`

2\. \*\*NRQL queries\*\*: Use the query examples above to explore your data

3\. \*\*OpenTelemetry UI\*\*: eBPF data integrates with New Relic's OpenTelemetry experience

For more information on accessing your data, see \[OpenTelemetry APM UI](/docs/opentelemetry/get-started/apm-monitoring/opentelemetry-apm-ui). \*/

## Related documentation [#related-docs]

[eBPF Kubernetes installation](https://docs.newrelic.com/docs/ebpf/k8s-installation/)

Learn how to install the eBPF agent on Kubernetes.

[eBPF Linux installation](https://docs.newrelic.com/docs/ebpf/linux-installation/)

Learn how to install the eBPF agent on Linux hosts.

[Troubleshooting eBPF](https://docs.newrelic.com/docs/ebpf/troubleshooting/no-ui-data/)

Learn how to troubleshoot eBPF agent issues.
