- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
コードを使用してトレーシングライブラリをセットアップし、APM データを収集するように Agent を構成した後、オプションで統合サービスタグ付けのセットアップなど、必要に応じてトレーシングライブラリを構成してください。
.NET Tracer のコンフィギュレーション設定は、以下のいずれかの方法で行うことができます。
アプリケーションコードでトレーサーを構成するには、デフォルトの構成ソースから TracerSettings
インスタンスを作成します。Tracer.Configure()
を呼び出す前に、この TracerSettings
インスタンスにプロパティを設定します。例:
アプリケーションコードでトレーサーを構成するには、デフォルトの構成ソースから TracerSettings
インスタンスを作成します。Tracer.Configure()
を呼び出す前に、この TracerSettings
インスタンスにプロパティを設定します。例:
トレーサー
を作成する前に TracerSettings
で設定する必要があります。トレーサー
の作成後に TracerSettings
プロパティに加えられた変更は無視されます。using Datadog.Trace;
using Datadog.Trace.Configuration;
// デフォルトの構成ソースを読み取る (env vars、web.config、datadog.json)
var settings = TracerSettings.FromDefaultSources();
// 一部の設定を変更
settings.Environment = "prod";
settings.ServiceName = "MyService";
settings.ServiceVersion = "abc123";
settings.Exporter.AgentUri = new Uri("http://localhost:8126/");
// Tracer のグローバル設定を構成
Tracer.Configure(settings);
app.config
または web.config
ファイルを使ってトレーサーを構成するには、<appSettings>
セクションを使います。例:
<configuration>
<appSettings>
<add key="DD_TRACE_AGENT_URL" value="http://localhost:8126"/>
<add key="DD_ENV" value="prod"/>
<add key="DD_SERVICE" value="MyService"/>
<add key="DD_VERSION" value="abc123"/>
</appSettings>
</configuration>
JSON ファイルを使ってトレーサーを構成するには、インスツルメンテーションされたアプリケーションのディレクトリに datadog.json
を作成します。ルート JSON オブジェクトは各設定のキー値を持つオブジェクトである必要があります。例:
{
"DD_TRACE_AGENT_URL": "http://localhost:8126",
"DD_ENV": "prod",
"DD_SERVICE": "MyService",
"DD_VERSION": "abc123",
}
上記の方法を使用して、次の変数を使用してトレースコンフィギュレーションをカスタマイズします。環境変数またはコンフィギュレーションファイルを設定するときは、環境変数の名前 (たとえば、DD_TRACE_AGENT_URL
) を使用します。コードの設定を変更するときには、TracerSettings プロパティの名前 (たとえば、Exporter.AgentUri
) を使用します。
統合サービスタグ付けを使用するには、サービスに対して次の設定を構成します。
DD_ENV
Environment
env
タグを追加します。バージョン 1.17.0 で追加されました。DD_SERVICE
ServiceName
DD_VERSION
ServiceVersion
自動インスツルメンテーションとカスタムインスツルメンテーションの両方で、次の構成変数を利用できます。
DD_TRACE_AGENT_URL
Exporter.AgentUri
DD_AGENT_HOST
と DD_TRACE_AGENT_PORT
をオーバーライドします。
デフォルト: 設定されている場合は http://<DD_AGENT_HOST>:<DD_TRACE_AGENT_PORT>
または http://localhost:8126
。DD_AGENT_HOST
DD_TRACE_AGENT_URL
を使用します。localhost
DD_TRACE_AGENT_PORT
DD_TRACE_AGENT_URL
を使用します。8126
DD_TRACE_SAMPLE_RATE
GlobalSamplingRate
0.0
から 1.0
までです。
詳しくは、取り込みメカニズムを参照してください。DD_TRACE_SAMPLING_RULES
CustomSamplingRules
null
"sample_rate"
を持たなければなりません。"name"
と "service"
フィールドは省略可能です。"sample_rate"
の値は 0.0
と 1.0
の間でなければなりません (この値を含む)。ルールは、トレースのサンプルレートを決定するために設定された順序で適用されます。
詳しくは、取り込みメカニズムを参照してください。'[{"sample_rate": 0.2}]'
'[{"service": "a.*", "name": "b", "sample_rate": 0.1}, {"sample_rate": 0.2}]'
DD_TRACE_RATE_LIMIT
MaxTracesSubmittedPerSecond
DD_MAX_TRACES_PER_SECOND
は非推奨)。DD_TRACE_SAMPLE_RATE
が設定されている場合、100
。それ以外の場合は、Datadog Agent にレート制限を委ねます。DD_SPAN_SAMPLING_RULES
デフォルト: null
オブジェクトの JSON 配列。ルールは、スパンのサンプルレートを決定するために構成された順序で適用されます。sample_rate
の値は 0.0 から 1.0 の間でなければなりません (この値を含む)。
詳細は、取り込みメカニズムを参照してください。
例:
my-service
と演算子名 http.request
のスパンサンプリングレートを 50% に設定し、1 秒間に最大 50 トレースします: '[{"service": "my-service", "name": "http.request", "sample_rate":0.5, "max_per_second": 50}]'
DD_TRACE_GLOBAL_TAGS
GlobalTags
layer:api, team:intake
,
であることに注意してください。自動インスツルメンテーションオプションコンフィギュレーション
DD_TRACE_HEADER_TAGS
HeaderTags
CASE-insensitive-Header:my-tag-name,User-ID:userId,My-Header-And-Tag-Name
DD_TRACE_CLIENT_IP_ENABLED
2.19.0
で追加されました。false
DD_TAGS
GlobalTags
layer:api,team:intake
DD_TRACE_LOG_DIRECTORY
%ProgramData%\Datadog .NET Tracer\logs\
DD_TRACE_LOGGING_RATE
x
秒ごとに一意のログ行が記述されます。たとえば、任意のメッセージを 60 秒ごとに一回ログに残したい場合は 60
を設定します。ログのレート制限を無効化したい場合は 0
を設定します。バージョン 1.24.0 で追加されました。デフォルトでは無効です。DD_TRACE_SERVICE_MAPPING
[from-key]:[to-name]
の形式で受け入れます。mysql:main-mysql-db, mongodb:offsite-mongodb-service
from-key
はインテグレーションタイプに固有で、アプリケーション名のプレフィックスを除外する必要があります。たとえば、my-application-sql-server
の名前を main-db
に変更するには、sql-server:main-db
を使用します。バージョン 1.23.0 で追加されました。以下の構成変数は、自動インスツルメンテーションの使用時にのみ利用できます。
DD_TRACE_ENABLED
TraceEnabled
false
に設定すると、CLR プロファイラーが完全に無効になります。他の構成メソッドの場合は、CLR プロファイラーはロードされ続けますが、トレースは生成されません。有効な値は true
または false
。
デフォルト: true
DD_HTTP_CLIENT_ERROR_STATUSES
400-499
DD_HTTP_SERVER_ERROR_STATUSES
500-599
DD_LOGS_INJECTION
LogsInjectionEnabled
trace_id
のマッピングを正しく設定する source
を持つ必要があります。.NET アプリケーションのデフォルトのソースである csharp
は、自動的にこれを行います。詳しくは、トレース ID パネルの相関するログを参照してください。DD_DISABLED_INTEGRATIONS
DisabledIntegrationNames
DD_TRACE_EXPAND_ROUTE_TEMPLATES_ENABLED
false
バージョン 2.5.2 で追加されましたDD_TRACE_METHODS
;
) で区切られたリストで、各エントリーが TypeName[MethodNames]
という形式であることを指定します (MethodNames
はカンマ (,
) 区切りのメソッド名のリストまたは *
ワイルドカードのいずれかです)。汎用型の場合は、角括弧と型パラメーターの名前をバックスティック(
)に置き換え、その後に汎用型パラメーターの数を記述します。例えば、Dictionary<TKey, TValue>
は Dictionary`2
と記述しなければなりません。汎用メソッドの場合は、指定する必要があるのはメソッド名のみです。Namespace1.Class1[Method1,GenericMethod];Namespace1.GenericTypeWithOneTypeVariable`1[ExecuteAsync];Namespace2.Class2[*]
[*]
) は、コンストラクタ、プロパティゲッターとセッター、 Equals
、Finalize
、GetHashCode
そして ToString
以外の型のすべてのメソッドを選択します。[*]
はバージョン 2.7.0 で追加されました。DD_TRACE_KAFKA_CREATE_CONSUMER_SCOPE_ENABLED
true
true
に設定すると、メッセージが消費されたときにコンシューマースパンが作成され、次のメッセージを消費する前に閉じられます。このスパンの長さは、あるメッセージの消費と次のメッセージの消費との間の計算を代表するものです。この設定は、メッセージの消費がループで実行される場合に使用します。false
に設定すると、メッセージが消費されたときにコンシューマスパンが作成され、すぐに閉じられます。この設定は、メッセージが完全に処理されないまま次のメッセージを消費する場合や、複数のメッセージを一度に消費する場合に使用します。次の表に、自動インスツルメンテーションを使用しており、インテグレーションごとの設定が可能な場合にのみ使用できる構成変数を示します。
DD_DISABLED_INTEGRATIONS
DisabledIntegrationNames
DD_TRACE_<INTEGRATION_NAME>_ENABLED
Integrations[<INTEGRATION_NAME>].Enabled
true
(デフォルト) または false
です。インテグレーション名は、インテグレーションセクションにリストされています。
デフォルト: true
以下の構成変数は現在利用可能な機能ですが、今後のリリースで変更される場合があります。
DD_TRACE_PARTIAL_FLUSH_ENABLED
true
または false
。バージョン 1.26.0 で追加され、Datadog Agent 7.26.0 以降とのみ互換性を有しています。false
DD_TRACE_LOG_PATH
DD_TRACE_LOG_DIRECTORY
が設定されている場合、無視されます。DD_TRACE_ROUTE_TEMPLATE_RESOURCE_NAMES_ENABLED
true
に設定すると、Web スパンに対する改善されたリソース名を有効化します。利用可能なルートテンプレート情報を使用して ASP.NET のコアインテグレーションにスパンを追加し、追加のタグを有効化します。バージョン 1.26.0 で追加されました。2.0.0 ではデフォルトで有効になっています。true
Datadog APM トレーサーは、分散型トレーシングのための B3 と W3C (TraceParent) のヘッダー抽出と挿入をサポートしています。
分散ヘッダーの挿入と抽出のスタイルを構成することができます。
.NET トレーサーは、以下のスタイルをサポートしています。
Datadog
b3multi
(B3
は非推奨)tracecontext
(W3C
は非推奨)B3 single header
(B3SingleHeader
は非推奨)以下の環境変数を使用して、挿入および抽出のスタイルを構成することができます。
DD_TRACE_PROPAGATION_STYLE_INJECT=Datadog, b3multi, tracecontext
DD_TRACE_PROPAGATION_STYLE_EXTRACT=Datadog, b3multi, tracecontext
環境変数の値は、挿入または抽出に有効なヘッダースタイルのカンマ区切りのリストです。デフォルトでは、Datadog
挿入スタイルのみが有効になっています。
複数の抽出スタイルが有効な場合、抽出の試みは構成されたスタイルの順に完了し、最初に成功した抽出値を使用します。
お役に立つドキュメント、リンクや記事: