問題
New Relic eBPF エージェントをインストールしましたが、 New Relic UIに eBPF データが表示されないか、特定のプロトコルの特定のメトリクスまたはスパンが見つかりません。
解決
eBPF データがまったく表示されない場合は:
ネットワーク接続を確認する: OTLP ( OpenTelemetry Protocol) エンドポイントがファイアウォールまたはネットワーク設定によってブロックされていないことを確認します。 次の URL にアクセスできることを確認します。
otlp.nr-data.net:443otlp.eu01.nr-data.net:443(EU地域のみ)https://downloads.newrelic.comhttps://nr-downloads-ohai-staging.s3.amazonaws.com
重要
ポート 4317 と 443 が複数のレベルでブロックされていないことを確認します。
Clusterレベル: Kubernetesデプロイメント (AKS クラスターなど) の場合、クラスターのネットワーク セキュリティ グループがこれらのポートでの送信トラフィックを許可していることを確認します。
インフラストラクチャ レベル: セキュリティ ソフトウェア (Microsoft Defender、企業ファイアウォールなど) がインフラストラクチャ レベルでこれらのポートをブロックしていないか確認します。
ポート ブロッキングは両方のレベルで同時に発生する可能性があり、1 つのレベルが適切に構成されている場合でも接続の問題が発生します。
エージェント インストレーションの確認: eBPF エージェント サービスが実行されていることを確認します。
Linux ホストの場合:
bash$sudo systemctl status newrelic-ebpf-agent$sudo systemctl status newrelic-ebpf-agent-clientKubernetesの場合:
bash$kubectl get pods -n newrelicエージェント ログを確認する: エージェント ログでエラーを探します。インストールが成功すると、次のことが表示されます。
[STEP-7] => Successfully started the eBPF Agent.正しいフィルターを使用します。New New Relic UIで、エンティティを
instrumentation.name = nr_ebpfでフィルターして、eBPF モニター サービスを表示します。
特定のメトリクスまたはスパンが欠落している場合:
プロトコル設定の確認: 設定ファイル内の特定のプロトコルに対してメトリクスとスパンが有効になっていることを確認します。
Linux ホスト(
/etc/newrelic-ebpf-agent/newrelic-ebpf-agent.conf) の場合:bash$PROTOCOLS_HTTP_ENABLED="true"$PROTOCOLS_HTTP_SPANS_ENABLED="true"$PROTOCOLS_MYSQL_ENABLED="true"$# ... other protocolsKubernetes の場合(
values.yaml内):protocols:http:enabled: truespans:enabled: truemysql:enabled: true設定を変更した後、エージェントを再起動します。
Linux ホストの場合:
bash$sudo systemctl restart newrelic-ebpf-agentKubernetesの場合:
bash$helm upgrade nr-ebpf-agent newrelic/nr-ebpf-agent -n newrelic --reuse-valuesデータ フィルタリング設定を確認します。エンティティが
DROP_DATA_FOR_ENTITYやdropDataServiceNameRegexなどの設定によって除外されていないことを確認します。
追加の検証手順:
ホスト別にエンティティをフィルタリングする: 特定のホストで実行されているエンティティをフィルタリングするには、New Relic UI の
host.nameタグを使用します。エンティティの命名を確認する: エンティティには次のように自動的に名前が付けられます。
- Linuxホスト:
processName:workingDirectory:[port](例:ruby:/path/to/app:[5678]) - Docker :
processName:containerName:[port](例:java:my-container:[8080]) - Kubernetes : Kubernetes サービス名に基づきます (例:
mysql-database-service)
- Linuxホスト:
カスタム命名を確認してください:
NEW_RELIC_APP_NAMEを使用する場合、エンティティは-ebpfサフィックス付きで表示されます。