---
title: No data appears in the UI
source: https://docs.newrelic.com/docs/ebpf/troubleshooting/no-ui-data
---

## Problem

You have installed the New Relic eBPF agent, but you don't see any eBPF data in your New Relic UI, or you're missing specific metrics or spans for certain protocols.

## Solution

### If no eBPF data appears at all:

1.  **Check network connectivity**: Ensure that the OTLP (OpenTelemetry Protocol) endpoint is not blocked by any firewall or network configuration. Verify these URLs are accessible:
    -   `otlp.nr-data.net:443`
    -   `otlp.eu01.nr-data.net:443` (EU region)
    -   `otlp.jp.nr-data.net:443` (JP region)
    -   `https://downloads.newrelic.com`

> #### ⚠️ IMPORTANT
>
> Ensure ports 4317 and 443 are unblocked at multiple levels:
>
> -   **Cluster level**: For Kubernetes deployments (e.g., AKS clusters), verify the cluster's network security groups allow outbound traffic on these ports
> -   **Infrastructure level**: Check that security software (e.g., Microsoft Defender, corporate firewalls) isn't blocking these ports at the infrastructure level
>
> Port blocking can occur at both levels simultaneously, causing connectivity issues even if one level is properly configured.

2.  **Verify agent installation**: Check that the eBPF agent services are running:

    **For Linux hosts:**

    ```bash
    sudo systemctl status newrelic-ebpf-agent
    sudo systemctl status newrelic-ebpf-agent-client
    ```

    **For Kubernetes:**

    ```bash
    kubectl get pods -n newrelic
    ```

3.  **Check agent logs**: Look for errors in the agent logs. Successful installation should show:
    ```
    [STEP-7] => Successfully started the eBPF Agent.
    ```

4.  **Use the correct filter**: In the New Relic UI, filter entities by `instrumentation.name = nr_ebpf` to see eBPF-monitored services.

### If specific metrics or spans are missing:

1.  **Verify protocol configuration**: Check that metrics and spans are enabled for the specific protocol in your configuration file:

    **For Linux hosts** (`/etc/newrelic-ebpf-agent/newrelic-ebpf-agent.conf`):

    ```bash
    PROTOCOLS_HTTP_ENABLED="true"
    PROTOCOLS_HTTP_SPANS_ENABLED="true"
    PROTOCOLS_MYSQL_ENABLED="true"
    # ... other protocols
    ```

    **For Kubernetes** (in your `values.yaml`):

    ```yaml
    protocols:
      http:
        enabled: true
        spans:
          enabled: true
      mysql:
        enabled: true
    ```

2.  **Restart the agent** after configuration changes:

    **For Linux hosts:**

    ```bash
    sudo systemctl restart newrelic-ebpf-agent
    ```

    **For Kubernetes:**

    ```bash
    helm upgrade nr-ebpf-agent newrelic/nr-ebpf-agent -n newrelic --reuse-values
    ```

3.  **Check data filtering settings**: Verify that your entity isn't being excluded by configuration parameters like `allDataFilters.dropServiceNameRegex` or `allDataFilters.dropNamespaces`.

4.  **Restart applications with persistent gRPC/HTTP/2 connections**: Applications with persistent gRPC/HTTP/2 connections must be restarted after the eBPF agent starts so that the agent can correctly generate entities and monitor traffic. If your gRPC or HTTP/2 application was running before the agent came up, restart the application so the agent can hook the newly established connections.

### Additional verification steps:

1.  **Filter entities by host**: Use the `host.name` tag in the New Relic UI to filter entities running on a specific host.

2.  **Check entity naming**: Entities are automatically named as follows:
    -   **Linux hosts**: `processName:workingDirectory:[port]` (e.g., `ruby:/path/to/app:[5678]`)
    -   **Docker**: `processName:containerName:[port]` (e.g., `java:my-container:[8080]`)
    -   **Kubernetes**: Based on Kubernetes service name (e.g., `mysql-database-service`)

3.  **Verify custom naming**: If using `NEW_RELIC_APP_NAME`, the entity will appear with `-ebpf` suffix.
