.NET¶
インストール設定¶
対応バージョン¶
| バージョン | Microsoft のサポート終了状態 | サポート状態 | パッケージバージョン |
|---|---|---|---|
| .NET 7 | - | GA | latest (>= 2.20.0) |
| .NET 6 | - | GA | latest (>= 2.0.0) |
| .NET 5 | - | GA | latest (>= 2.0.0) |
| .NET Core 3.1 | 12/03/2022 | GA | latest |
| .NET Core 2.1 | 08/21/2021 | GA | latest |
| .NET Core 3.0 | 03/03/2020 | EOL | Not recommended |
| .NET Core 2.2 | 12/23/2019 | EOL | Not recommended |
| .NET Core 2.0 | 10/01/2018 | EOL | Not recommended |
Agent のインストール¶
Info
Datadog .NET Tracer はマシン全体にインストールして、そのマシン上のすべてのサービスを計測することも、アプリケーションごとにインストールして、開発者がアプリケーションの依存関係を通じて計測を管理することもできます。マシン全体のインストール手順を確認するには、Windows または Linux タブをクリックしてください。アプリケーションごとのインストール手順を確認するには、NuGet タブをクリックしてください。
.NET Tracer をマシン全体にインストールするには、次の手順を実行します。
- .NET Tracer MSI インストーラーをダウンロードします。OS(x64 または x86)に一致するアーキテクチャの MSI インストーラーを選択してください。
- 管理者権限で .NET Tracer MSI インストーラーを実行します。
また、
PowerShellで次のコマンドを実行して MSI インストーラーを自動化することもできます。Start-Process -Wait msiexec -ArgumentList '/qn /i datadog-apm.msi'。
.NET Tracer をマシン全体にインストールするには、次の手順を実行します。
- .NET Tracer MSI インストーラーをダウンロードします。OS(x64 または x86)に一致するアーキテクチャの MSI インストーラーを選択してください。
- OS に応じて以下の該当するインストールパッケージを実行し、適切な権限で
.NETトレーサーのログディレクトリ/var/log/datadog/dotnetを作成します。Debian or Ubuntu
sudo dpkg -i ./datadog-dotnet-apm_<TRACER_VERSION>_amd64.deb && /opt/datadog/createLogPath.sh
CentOS or Fedora
sudo rpm -Uvh datadog-dotnet-apm<TRACER_VERSION>-1.x86_64.rpm && /opt/datadog/createLogPath.sh
Alpine or other musl-based distributions
sudo tar -C /opt/datadog -xzf datadog-dotnet-apm-<TRACER_VERSION>-musl.tar.gz && sh /opt/datadog/createLogPath.sh
Other distributions
sudo tar -C /opt/datadog -xzf datadog-dotnet-apm<TRACER_VERSION>-tar.gz && /opt/datadog/createLogPath.sh
シェルのない slim または distroless Docker イメージに .NET Tracer をインストールするには、Dockerfile で次のコマンドを使用します。
ADDを使って tracer ファイルをコンテナに配置します。COPY --chown=$APP_UIDを使い、空のフォルダをソースとしてログディレクトリを作成します。
例えば、Dockerfile には次のように記述できます。
Info
注意: このインストール方法では IIS で実行されるアプリケーションは検出されません。IIS で実行されるアプリケーションについては、Windows のマシン全体インストール手順に従ってください。
アプリに .NET Tracer を追加する
- NuGet package を使用して、アプリに
Datadog.Trace.Bundleを追加します。
アプリケーションで Tracer を有効にする¶
アプリケーションで .NET Tracer を有効にするには、必要な環境変数を設定してからアプリケーションを再起動します。
環境変数の設定方法については、設定手順の 環境変数 を参照してください。
Internet Information Services (IIS):
- .NET Tracer MSI インストーラーは必要な環境変数をすべて追加します。ここでは追加の環境変数を設定する必要があります。
IISでホストされているアプリケーションを自動検出するには、管理者として次のコマンドを実行し、IISを完全に停止してから起動します。
Info
注意: Tracer を有効にするには、必ず上記のコマンドで IIS を完全に停止してから再起動してください。IIS マネージャーの GUI アプリケーションや iisreset.exe は使用しないでください。
IIS 以外のアプリ
- アプリケーションに自動計測を追加するため、次の必要な環境変数を設定します。
- アプリケーションを再起動します。
- アプリケーションに自動計測を追加するために必要な環境変数を設定します。
- アプリケーションを再起動します
.NET アプリにカスタムインストルメンテーションを追加します。
- アプリケーションコード内で、
Datadog.Trace.Tracer.Instanceプロパティを通じてグローバルトレーサーにアクセスし、新しいspanを作成します。
環境変数の設定¶
自動計測をサービスに適用するには、アプリケーションの起動前に必要な環境変数を設定する必要があります。アプリケーションで tracer を有効にする の節を参照し、.NET tracer のインストール方法に応じて設定する環境変数を確認してください。以下の例を参考に、計測を挿入するサービスの環境に合わせて環境変数を正しく設定してください。
以下はいずれの方法でも追加が必要な変数です
DD_TRACE_AGENT_PORT=9529
DD_AGENT_HOST=localhost
Windows¶
Info
v2.14.0 以降は、MSI で tracer をインストールした場合、CORECLR_PROFILER を設定する必要はありません。
MSI のインストール後は、追加設定なしで IIS サイトを自動検出できます。すべての IIS サイトに継承される追加の環境変数を設定するには、次の手順を実行します。
コンソールアプリケーションを自動検出するには、アプリケーションの起動前にバッチファイルから環境変数を設定します。
Linux¶
アプリケーションの起動前に、bash で必要な環境変数を設定します。
# 環境変数を設定
export CORECLR_ENABLE_PROFILING=1
export CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
export CORECLR_PROFILER_PATH=/opt/datadog/Datadog.Trace.ClrProfiler.Native.so
export DD_DOTNET_TRACER_HOME=/opt/datadog
# 追加の Datadog 環境変数を設定
export DD_LOGS_INJECTION=true
export DD_RUNTIME_METRICS_ENABLED=true
# アプリケーションを起動
dotnet example.dll
Docker container で環境変数を設定します。
# 環境変数を設定
ENV CORECLR_ENABLE_PROFILING=1
ENV CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8}
ENV CORECLR_PROFILER_PATH=/opt/datadog/Datadog.Trace.ClrProfiler.Native.so
ENV DD_DOTNET_TRACER_HOME=/opt/datadog
# 追加の Datadog 環境変数を設定
ENV DD_LOGS_INJECTION=true
ENV DD_RUNTIME_METRICS_ENABLED=true
# アプリケーションを起動
CMD ["dotnet", "example.dll"]
systemctl で .NET アプリケーションをサービスとして実行する場合、特定のサービスに読み込む必要のある環境変数を追加できます。
-
次の内容を含む
environment.envファイルを作成します。 -
サービスの設定ファイルで、サービスブロック内から
EnvironmentFileとして参照します。 -
.NET サービスを再起動します。
Info
注意: .NET ランタイムは、これらの環境変数が設定された後に起動した任意の .NET プロセスにプロファイラを読み込もうとします。計測は、トレースが必要なアプリケーションにのみ限定してください。これらの環境変数はグローバルに設定しないでください。ホスト上のすべての .NET プロセスにプロファイラが読み込まれてしまいます。
systemctl で .NET アプリケーションをサービスとして実行する場合、systemctl で実行されるすべてのサービスに対して読み込む環境変数を設定することもできます。
-
systemctl set-environmentを実行して必要な環境変数を設定します。systemctl set-environment CORECLR_ENABLE_PROFILING=1 systemctl set-environment CORECLR_PROFILER={846F5F1C-F9AE-4B07-969E-05C26BC060D8} systemctl set-environment CORECLR_PROFILER_PATH=/opt/datadog/Datadog.Trace.ClrProfiler.Native.so systemctl set-environment DD_DOTNET_TRACER_HOME=/opt/datadog # 追加の Datadog 環境変数を設定 systemctl set-environment DD_LOGS_INJECTION=true systemctl set-environment DD_RUNTIME_METRICS_ENABLED=true -
systemctl show environmentを実行して、環境変数が正しく設定されたことを確認します。 - アプリケーションサービスを再起動します。
トレース¶
収集器¶
DDTrace を通じて .NET アプリ関連の Tracing 情報を収集します。
メトリクス¶
ランタイムメトリクス
DD_RUNTIME_METRICS_ENABLED=true 環境変数を使用して、.NET Tracer 1.23.0+ でランタイムメトリクスを有効にします。
ランタイムメトリクスの互換性¶
- .NET Framework 4.6.1+
- .NET Core 3.1
- .NET 5
- .NET 6
- .NET 7
収集器¶
- DataKit で
statsd収集器を有効にします。 - デフォルトのポートは
8125です。 - Agent をコンテナとして実行する場合は、
DD_DOGSTATSD_NON_LOCAL_TRAFFICをtrueに設定し、Agent 側のポート8125が開いていることを確認してください。
メトリクス情報¶
ログ¶
ファイルディレクトリ¶
デフォルトでは、ログファイルは次のディレクトリに保存されます。DD_TRACE_LOG_DIRECTORY 設定を使用して、これらのパスを変更できます。
| プラットフォーム | ディレクトリ |
|---|---|
| Windows | %ProgramData%\Datadog .NET Tracer\logs\ |
| Linux | /var/log/datadog/dotnet/ |
Linux (when using Kubernetes library injection) |
/datadog-lib/logs |
| Azure App Service | %AzureAppServiceHomeDirectory%\LogFiles\datadog |
注意: Linux では、デバッグモードを有効にする前にログディレクトリを作成しておく必要があります。
-
dotnet-tracer-managed-{processName}-{timestamp}.logには構成ログが含まれます。 -
dotnet-tracer-native.logには診断ログが含まれます(生成された場合)。
Profiler¶
参照ドキュメント .NET profiling

