説明
trace を使用すると、リクエストが CoreDNS をどのように流れるかを OpenTracing で有効にできます。debug プラグインを有効にして、trace プラグインからログを取得します。
構文
最も単純な形式は次のとおりです。
trace [ENDPOINT-TYPE] [ENDPOINT]
- ENDPOINT-TYPE はトレースの送信先のタイプです。現時点では
zipkin
とdatadog
のみがサポートされています。デフォルトはzipkin
です。 - ENDPOINT はトレースの送信先で、デフォルトは
localhost:9411
です。Zipkin の場合、ENDPOINT がhttp
で始まらない場合はhttp://ENDPOINT/api/v1/spans
に変換されます。
この形式では、すべてのクエリがトレースされます。
この構文を使用して、追加機能を有効にすることができます。
trace [ENDPOINT-TYPE] [ENDPOINT] {
every AMOUNT
service NAME
client_server
datadog_analytics_rate RATE
zipkin_max_backlog_size SIZE
zipkin_max_batch_size SIZE
zipkin_max_batch_interval DURATION
}
every
**AMOUNT** は、AMOUNT クエリの 1 つのクエリのみをトレースします。たとえば、100 クエリごとに 1 つをトレースするには、AMOUNT に 100 を使用します。デフォルトは 1 です。service
**NAME** では、トレースサーバーに報告されるサービス名を指定できます。デフォルトはcoredns
です。client_server
はClientServerSameSpan
OpenTracing 機能を有効にします。datadog_analytics_rate
**RATE** は 0 から 1 のトレースに対して トレースアナリティクス を有効にします。送信されたすべてのトレースが分析されます。これは datadog のみ機能(ENDPOINT-TYPE はdatadog
の必要があります)zipkin_max_backlog_size
は Zipkin HTTP レポーターの最大バックログサイズを設定します。バッチサイズがこのしきい値に達すると、バッチの先頭からスパンが破棄されます。デフォルトのバックログサイズは 1000 です。zipkin_max_batch_size
は、Zipkin HTTP レポーターで収集がトリガーされる最大バッチサイズを設定します。デフォルトのバッチサイズは 100 のトレースです。zipkin_max_batch_interval
は、Zipkin HTTP レポーターを使用してコレクターにトレースを送信する前にトレースをバッファする時間を設定します。デフォルトのバッチインターバルは 1 秒です。
Zipkin
Docker ホストで Zipkin を実行するには、次の手順に従います。
docker run -d -p 9411:9411 openzipkin/zipkin
coredns 1.7.1 以降、zipkin プロバイダーは v1 API をサポートしていません。
例
代替の Zipkin アドレスを使用する
trace tracinghost:9253
または
. {
trace zipkin tracinghost:9253
}
何らかの理由で API リバースプロキシまたは類似のものを使用しており、標準の Zipkin URL をリマップする必要がある場合は、次のようにしてください。
trace http://tracinghost:9411/zipkin/api/v1/spans
DataDog の使用
trace datadog localhost:8126
10000 クエリごとに 1 つのクエリをトレースし、サービスの名前を変更し、同じスパンを有効にする
trace tracinghost:9411 {
every 10000
service dnsproxy
client_server
}
メタデータ
trace プラグインは、metadata プラグインも有効になっている場合は、次のメタデータを公開します。
trace/traceid
: 処理されたリクエストの (zipkin/datadog) トレースの識別子
関連項目
デバッグログに関する詳細については、debug プラグインを参照してください。