Kubernetes での .NET トレースの設定
Kubernetes で .NET のトレースを設定するには、 Instana AutoTrace の Webhook を使用するか、環境変数を手動で設定します。 Instana ( AutoTrace )のWebhookは、 Kubernetes クラスタ全体にわたる.NET アプリケーションの監視に必要なすべての設定を自動的に行います。
.NET の監視機能の詳細については、 「.NET の監視機能の仕組み」を参照してください。
準備
Kubernetes で「.NET Core 」のトレースを設定するには、以下の前提条件を満たしてください:
- Kubernetes に Instana エージェントがインストールされていることを確認してください。 「 Kubernetes への Instana エージェントのインストール 」を参照してください。
- .NET アプリケーションおよび Instana エージェントが Kubernetes によって管理されている場合は、必要な設定に関する情報について、 Kubernetes のネットワークアクセスに関する説明を参照してください。
- サポート情報を確認してください。
.NET のトレース機能を有効にする
以下のいずれかの方法を使用して、 Kubernetes で.NET のトレースを有効にします
- AutoTrace Webhook (推奨)
- 手書きトレース
方法 1: AutoTrace Webhook を使用して自動トレースを有効にする
Instana ( AutoTrace )のWebhookは、 Kubernetes のMutating Webhook Admission Controllerを実装したものです。 これにより、 Kubernetes クラスタ全体において、 Instana を使用して.NET アプリケーションを監視するために必要なすべての設定が自動的に行われます。
Kubernetes クラスタに Instana の AutoTrace Webhookがインストールされている場合、そのクラスタで実行される.NET アプリケーションに対して、トレーシングが自動的に有効になります。
Instana の AutoTrace ウェブフックを有効にするには、以下の手順を実行してください:
- Kubernetes に Instana エージェントをインストールします。 「 Kubernetes への Instana エージェントのインストール 」を参照してください。
Helm を使用して、 Kubernetes クラスターに Instana AutoTrace の Webhook をインストールします。 インストール中に、.NET Core のトレース機能が有効になっていることを確認してください:
--set autotrace.instrumentation.manual.netcore=true詳細については、 「 AutoTrace Webhook のインストール」 を参照してください。
注:.NET Core のトレースが有効になっている場合、他のトレーサー( Python、 Node.js、および Ruby )を無効にしないでください。 これらのトレーサーを無効にすると、.NET Core のトレース機能に影響が出る可能性があります。特定のアプリケーションに対してのみトレースを有効にしたい場合は、オプトインモードを使用できます:
AutoTrace のWebhookインストール時にオプトインモードを有効にする:
--set autotrace.opt_in=true- 計測対象とするリソースにラベルを追加します
instana-autotrace: "true"。 このラベルは、必要なPod、レプリカセット、ステートフルセット、デーモンセット、およびデプロイメントに追加できます。instana-autotrace: "false"計測対象から除外したい場合は、. を設定してください。
- アプリケーションをデプロイして実行します。
AutoTrace のWebhookは、.NET アプリケーションのPodに、必要な環境変数と計測情報を自動的に設定します。
方法 2: トレースを手動で有効にする
AutoTrace のWebhookを使用したくない場合や、設定をより細かく制御したい場合は、デプロイに環境変数を追加することで、トレースを手動で設定することができます。
Kubernetes 上の.NET Core アプリケーションで手動トレースを有効にするには、以下の手順を実行してください:
アプリケーションに以下の NuGet パッケージをインストールしてください:
パッケージが NuGet.org を通じて配布されている場合、アプリケーションを再コンパイルすることなくインストールできます。 以下の方法の 1 つを使用します。
nuget.exe利用可能:計測対象のプロジェクトをコンパイルせずに、を使用してnuget.exeパッケージを復元します。nuget.exe利用不可:パッケージを直接ダウンロードし、解凍した後、次の手順に従って、解凍されたファイルが格納されている場所を指すように環境変数を設定してください。
Kubernetes のデプロイメント YAML に、以下の環境変数を追加してください:
apiVersion: apps/v1 kind: Deployment metadata: name: my-dotnet-app spec: replicas: 1 selector: matchLabels: app: my-dotnet-app template: metadata: labels: app: my-dotnet-app spec: containers: - name: my-dotnet-app image: my-dotnet-app:latest env: - name: DOTNET_STARTUP_HOOKS value: "[path-to-your-app]/Instana.Tracing.Core.dll" - name: CORECLR_ENABLE_PROFILING value: "1" - name: CORECLR_PROFILER value: "{cf0d821e-299b-5307-a3d8-b283c03916dd}" - name: CORECLR_PROFILER_PATH value: "[Path_to_your_app]/instana_tracing/CoreProfiler.so" - name: INSTANA_AGENT_HOST valueFrom: fieldRef: fieldPath: status.hostIP - name: INSTANA_AGENT_PORT value: "42699"を、アプリケーションディレクトリへの実際のパスに置き換えて
[path-to-your-app]ください。- アプリケーションをデプロイして実行します。