Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud (OpenTelemetry) 用 .NET アプリケーションのインストルメンテーション » Splunk Distribution of OpenTelemetry .NET を設定する

Splunk Distribution of OpenTelemetry .NET を設定する 🔗

Splunk Distribution of OpenTelemetry .NET は、インストルメンテーションのニーズに合わせて設定することができます。ほとんどの場合、基本的な設定を変更するだけで使い始めることができます。より高度な設定も可能です。

設定方法 🔗

Splunk Distribution of OpenTelemetry .NETの設定は、以下の方法で変更できます:

  • .NETアプリケーションの場合は、環境変数を設定します。Windowsでは、すべての.NETアプリケーションで自動インストルメンテーションをグローバルに有効にする場合を除き、プロセス・スコープに設定します。

  • Windowsサービスとして実行される.NET Frameworkアプリケーションでは、サポートされている場合、app.configファイルの appSettings ブロックで設定を追加するか、Windowsレジストリを使用して環境変数を設定することができます。

  • ASP.NETアプリケーションの場合は、web.configファイルの appSettings ブロックに設定を追加します。例:

    <configuration>
       <appSettings>
          <add key="OTEL_SERVICE_NAME" value="my-service-name" />
       </appSettings>
    </configuration>
    

    あるいは、以下のいずれかの方法で環境変数を設定することもできます:

    • applicationHost.config 、アプリケーション・プール用に <environmentVariables> 要素を追加します。

    • W3SVCWAS の環境変数を設定します。

  • ASP.NET Coreアプリケーションの場合は、web.configファイルの <aspNetCore> ブロック内に <environmentVariable> 要素を追加します。

一般設定 🔗

以下の設定は、ほとんどのインストルメンテーションシナリオで共通です:

エクスポート設定 🔗

以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:

AlwaysOn Profiling の .NET OTel 設定 🔗

以下の設定は、.NET インストルメンテーションの AlwaysOn Profiling 機能を制御します:

注釈

AlwaysOn Profiling for .NET は、.NET 6.0 以降と互換性があります。AlwaysOn Profiling の詳細については、Splunk APMのAlwaysOn Profilingの概要 を参照してください。

トレース伝播の設定 🔗

以下の設定はトレース伝搬をコントロールします:

サンプラーの設定 🔗

以下の設定はトレースサンプリングをコントロールします:

リソースディテクターの構成 🔗

リソースディテクターを使用して、アプリケーションのスパンの追加属性を取得できます。

以下の設定は、リソースディテクターを制御します:

以下の資源探知機が利用できます:

インストルメンテーション設定 🔗

以下の設定は、インストルメンテーションとトレースの動作を制御します:

サーバートレース情報 🔗

モバイルおよびウェブアプリケーションからのリアルユーザーモニタリング(RUM)リクエストとサーバートレース・データを接続するために、トレース・レスポンス・ヘッダーがデフォルトで有効になっています。インストルメンテーションは、HTTP レスポンスに以下のレスポンス・ヘッダーを追加します:

Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"

Server-Timing ヘッダーは、traceIdspanId パラメータを traceparent 形式で含みます。詳しくは、W3CウェブサイトのServer-Timingとtraceparentのドキュメントを参照してください。

注釈

トレース・レスポンス・ヘッダーを無効にする必要がある場合は、SPLUNK_TRACE_RESPONSE_HEADER_ENABLEDfalse に設定します。

診断ロギングの設定 🔗

以下の設定は、Splunk Distribution of OpenTelemetry .NETの内部ロギングを制御します:

デフォルトのサービス名の変更 🔗

デフォルトでは、Splunk Distribution of OpenTelemetry .NETは、成功するまで以下の手順を試してサービス名を取得します:

  1. デフォルトのサービス名は、エントリー・アセンブリの名前です。たとえば、.NETプロジェクトファイルの名前です。ASP.NETアプリケーションの場合、デフォルトのサービス名は SiteName[/VirtualPath] です。

  2. エントリー・アセンブリが利用できない場合、インストルメンテーションは現在のプロセス名を使用しようとします。アセンブリを使用して直接起動する場合、プロセス名は dotnet になります。例えば、dotnet InstrumentedApp.dll です。

すべての手順が失敗した場合、サービス名のデフォルトは unknown_service になります。

注釈

デフォルトのサービス名を上書きするには、OTEL_SERVICE_NAME 環境変数を設定します。

手動インストールのための環境変数 🔗

インストルメンテーションを手動でデプロイする場合、以下の環境変数を必ず設定する必要があります:

環境変数

CORECLR_ENABLE_PROFILING

1

CORECLR_PROFILER

{918728DD-259F-4A6A-AC2B-B85E1B658318}

CORECLR_PROFILER_PATH_64

$installationLocation\win-x64\OpenTelemetry.AutoInstrumentation.Native.dll

CORECLR_PROFILER_PATH_32

$installationLocation\win-x86\OpenTelemetry.AutoInstrumentation.Native.dll

DOTNET_ADDITIONAL_DEPS

$installationLocation\AdditionalDeps

DOTNET_SHARED_STORE

$installationLocation\store

DOTNET_STARTUP_HOOKS

$installationLocation\net\OpenTelemetry.AutoInstrumentation.StartupHook.dll

OTEL_DOTNET_AUTO_HOME

$installationLocation

OTEL_DOTNET_AUTO_PLUGINS

Splunk.OpenTelemetry.AutoInstrumentation.Plugin, Splunk.OpenTelemetry.AutoInstrumentation

This page was last updated on 2024年05月07日.