New Relic eBPF エージェントをKubernetesクラスタにインストールして、システム全体の健全性を監視できます。 eBPF エージェントは、コードの変更やデプロイ言語固有のエージェントを必要とせずに、アプリケーションのパフォーマンスを詳細に可視化します。
New Relic eBPF エージェントのインストール
あなたが始める前に
KubernetesクラスタのeBPF 互換性と要件のドキュメントに記載されている前提条件を満たす必要があります。
eBPF エージェントをインストールする
eBPF エージェントをインストールするには:
New Relic のアカウントにログインします。
left navigation pane > + Integration & Agents > eBPF Agentに移動します。
Select an account画面で、eBPF エージェントをインストールするアカウントを選択し、 Continueをクリックします。
Select an installation methodページでKubernetesを選択し、 Continueをクリックします。
Enter your user key画面で、以下のオプションのいずれかを選択し、 Continueをクリックしてください。
- Use an existing keyユーザーキーを既にお持ちの場合は、そのユーザーキーを入力してください。詳細については、 「ユーザーキー」を参照してください。
- Create a new keyユーザーキーをお持ちでない場合は、 Create a new keyをクリックして作成してください。
Configure the Kubernetes integration画面では:
- Kubernetes のデプロイメント名を入力します。
- (オプション) 統合のネームスペースを入力します。 デフォルトのネームスペースは
newrelicです。 - Continueをクリックします。
ヒント
New Relic計装にカスタムのネームスペースを選択した場合(デフォルトの
newrelicの代わりに)、そのネームスペースをallDataFilters.dropNamespaces設定に追加して監視から除外することをお勧めします。 これにより、eBPF エージェントは計装ポッド自体を監視できなくなります。 たとえば、ネームスペースとしてnewrelic-monを使用する場合は、allDataFilters.dropNamespaces: ["kube-system", "newrelic-mon"]を設定します。Install the Kubernetes integration画面では:
表示されたコマンドをコピーして貼り付け、 Helmを使用してKubernetesクラスタに eBPF エージェントをインストールします。
(オプション)
values.yaml設定ファイルをダウンロードするには、 Downloadをクリックしてください。設定の問題の詳細については、 「K8s 設定の問題」を参照してください。(オプション) 必要に応じて
values.yamlファイルを更新し、保存します。(オプション) 設定の変更を適用するには、次のコマンドを実行します。
bash$helm repo update ; helm upgrade --install nr-ebpf-agent newrelic/nr-ebpf-agent -n newrelic --values values.yamlインストールを確認するには、次のコマンドを実行します。
bash$kubectl get pods -n newrelic
New RelicでeBPFデータにアクセスする
eBPF エージェントがインストールされると、Linux ホストからのデータの収集が自動的に開始されます。このデータには、New Relic の OpenTelemetry UI からアクセスできます。New Relic OpenTelemetry UI の詳細については、 OpenTelemetry APM UI を参照してください。
New Relic で eBPF データを表示するには:
- one.newrelic.com > APM & Servicesに移動します。
- 検索バナーで、検索条件を
instrumentation.name = nr_ebpfとして設定します。
eBPF エージェントをアップグレードする
KubernetesクラスタでeBPFエージェントをアップグレードするには:
- 標準アップグレードの場合: 次の Helm コマンドを使用して最新バージョンにアップグレードします。
$KSM_IMAGE_VERSION="v2.13.0" && helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && kubectl create namespace "newrelic" ; helm upgrade --install nr-ebpf-agent newrelic/nr-ebpf-agent --set licenseKey=<key> --set cluster="<cluster-name>" --namespace=newrelic- 特定のバージョンへのアップグレードの場合:特定のバージョンにアップグレードするには、
--versionフラグを使用します。
$KSM_IMAGE_VERSION="v2.13.0" && helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && kubectl create namespace "newrelic" ; helm upgrade --install nr-ebpf-agent newrelic/nr-ebpf-agent --set licenseKey=<key> --set cluster="<cluster-name>" --namespace=newrelic --version=0.2.5<key> New Relicライセンスキーに置き換え、 <cluster-name>クラスタ名に置き換えます。
設定パラメーター
values.yamlファイルには、次の設定セクションが含まれています。
ヒント
eBPF エージェントは、環境に応じて異なるエンティティ名を自動的に生成します。
ホストまたは Docker では、これらの名前はプロセス名、そのディレクトリまたはコンテナ ID、およびリスニング ポートの組み合わせです。たとえば、
ruby:/home/ubuntu/app:[5678]またはjava:f4aead533895:[8080]。Kubernetes では、これらの名前はサービス名から派生されます (例:
mysql-database-service)。アプリケーションにカスタム名を割り当てる:
Kubernetesとオンホスト アプリケーションの両方に
NEW_RELIC_APP_NAME環境変数を設定することで、アプリケーションにカスタム名を割り当てることができます。
eBPF エージェントをアンインストールする
Kubernetesクラスタから eBPF エージェントをアンインストールするには:
$helm uninstall nr-ebpf-agent -n newrelicヒント
このコマンドは、クラスターからすべての eBPF エージェント コンポーネントを削除します。ネームスペースは明示的に削除しない限り残ります。