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>要素を追加します。 -
W3SVCとWASの環境変数を設定します。
-
-
ASP.NET Coreアプリケーションの場合は、web.configファイルの
<aspNetCore>ブロック内に<environmentVariable>要素を追加します。
一般設定
以下の設定は、ほとんどのインストルメンテーションシナリオで共通です:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
general
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
エクスポート設定
以下の設定は、トレースエクスポーターとそのエンドポイントをコントロールします:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
exporter
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
AlwaysOn Profiling の .NET OTel 設定
以下の設定は、.NET インストルメンテーションの AlwaysOn Profiling 機能を制御します:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
プロファイリング
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
トレース伝播の設定
以下の設定はトレース伝搬をコントロールします:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
トレース伝播
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
サンプラーの設定
以下の設定はトレースサンプリングをコントロールします:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
sampler
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
リソースディテクターの構成
リソースディテクタを使用して、アプリケーションのスパンの追加属性を取得できます。
以下の設定は、リソースディテクターを制御します:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
リソースディテクタ
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
以下の資源探知機が利用できます:
{「key」:「識別子」、「description」:「説明」、「attributes」:「属性」、「id」:「ID」、「stability」:「安定性」、「support」:「サポート」、「dependencies」:「依存関係」、「name」:「名前」、「source_href」:「送信元」、「package_href」:「パッケージ URL」、「version」:「バージョン」、「stability」:「安定性」}
resource_detectors
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
インストルメンテーション設定
以下の設定は、インストルメンテーションとトレースの動作を制御します:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
インストゥルメンテーション
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
サーバートレース情報
モバイルおよびウェブアプリケーションからの Real User Monitoring(RUM)リクエストとサーバートレースデータを接続するために、トレース レスポンス ヘッダーがデフォルトで有効になっています。インストルメンテーションは、HTTP レスポンスに以下のレスポンスヘッダーを追加します。
Access-Control-Expose-Headers: Server-Timing
Server-Timing: traceparent;desc="00-<serverTraceId>-<serverSpanId>-01"
Server-Timing ヘッダーには traceId と spanId パラメータが traceparent 形式で含まれます。詳しくは、W3C Web サイトの Server-Timing と traceparent のドキュメントを参照してください。
SPLUNK_TRACE_RESPONSE_HEADER_ENABLED を false に設定します。診断ロギングの設定
以下の設定は、Splunk Distribution of OpenTelemetry .NETの内部ロギングを制御します:
{「keys」:「識別子」、「description」:「説明」、「instrumented_components」:「コンポーネント」、「signals」:「信号」、「env」:「環境変数」、「default」:「デフォルト」、「type」:「タイプ」}
診断ロギング
カテゴリ
設定
https://raw.githubusercontent.com/splunk/o11y-gdi-metadata/main/apm/splunk-otel-js/metadata.yaml
デフォルトのサービス名の変更
デフォルトでは、Splunk Distribution of OpenTelemetry .NETは、成功するまで以下の手順を試してサービス名を取得します:
-
デフォルトのサービス名は、エントリアセンブリの名前です。たとえば、.NET プロジェクトファイルの名前です。 ASP.NETアプリケーションの場合、デフォルトのサービス名は
SiteName[/VirtualPath]です。 -
エントリアセンブリが利用できない場合、インストルメンテーションは現在のプロセス名を使用しようとします。アセンブリを使用して直接起動する場合、プロセス名は
dotnetにすることができます。たとえば、dotnet InstrumentedApp.dllのようになります。
すべての手順が失敗した場合、サービス名のデフォルトは unknown_service になります。
OTEL_SERVICE_NAME 環境変数を設定します。手動インストールのための環境変数
インストルメンテーションを手動でデプロイする場合、以下の環境変数を必ず設定する必要があります:
- Windows (.NET)
-
環境変数
値
CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{918728DD-259F-4A6A-AC2B-B85E1B658318}CORECLR_PROFILER_PATH_64$installationLocation\win-x64\OpenTelemetry.AutoInstrumentation.Native.dllCORECLR_PROFILER_PATH_32$installationLocation\win-x86\OpenTelemetry.AutoInstrumentation.Native.dllDOTNET_ADDITIONAL_DEPS$installationLocation\AdditionalDepsDOTNET_SHARED_STORE$installationLocation\storeDOTNET_STARTUP_HOOKS$installationLocation\net\OpenTelemetry.AutoInstrumentation.StartupHook.dllOTEL_DOTNET_AUTO_HOME$installationLocationOTEL_DOTNET_AUTO_PLUGINSSplunk.OpenTelemetry.AutoInstrumentation.Plugin, Splunk.OpenTelemetry.AutoInstrumentation - Windows (.NET Framework)
-
環境変数
値
COR_ENABLE_PROFILING1COR_PROFILER{918728DD-259F-4A6A-AC2B-B85E1B658318}COR_PROFILER_PATH_64$installationLocation\win-x64\OpenTelemetry.AutoInstrumentation.Native.dllCOR_PROFILER_PATH_32$installationLocation\win-x86\OpenTelemetry.AutoInstrumentation.Native.dllOTEL_DOTNET_AUTO_HOME$installationLocationOTEL_DOTNET_AUTO_PLUGINSSplunk.OpenTelemetry.AutoInstrumentation.Plugin, Splunk.OpenTelemetry.AutoInstrumentation - Linux (.NET)
-
環境変数
値
CORECLR_ENABLE_PROFILING1CORECLR_PROFILER{918728DD-259F-4A6A-AC2B-B85E1B658318}CORECLR_PROFILER_PATH$INSTALL_DIR/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so(glibc)$INSTALL_DIR/linux-musl-x64/OpenTelemetry.AutoInstrumentation.Native.so(musl)DOTNET_ADDITIONAL_DEPS$INSTALL_DIR\AdditionalDepsDOTNET_SHARED_STORE$INSTALL_DIR\storeDOTNET_STARTUP_HOOKS$INSTALL_DIR\net\OpenTelemetry.AutoInstrumentation.StartupHook.dllOTEL_DOTNET_AUTO_HOME$INSTALL_DIROTEL_DOTNET_AUTO_PLUGINSSplunk.OpenTelemetry.AutoInstrumentation.Plugin, Splunk.OpenTelemetry.AutoInstrumentation注: Linux でのデフォルトのインストールパスは$HOME/.otel-dotnet-autoです。