トレース

ソース

trace は、プラグインチェーンを処理する DNS リクエストの OpenTracing ベースのトレースを有効にします。

説明

trace を使用すると、リクエストが CoreDNS をどのように流れるかを OpenTracing で有効にできます。debug プラグインを有効にして、trace プラグインからログを取得します。

構文

最も単純な形式は次のとおりです。

trace [ENDPOINT-TYPE] [ENDPOINT]
  • ENDPOINT-TYPE はトレースの送信先のタイプです。現時点では zipkindatadog のみがサポートされています。デフォルトは zipkin です。
  • ENDPOINT はトレースの送信先で、デフォルトは localhost:9411 です。Zipkin の場合、ENDPOINThttp で始まらない場合は 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_serverClientServerSameSpan OpenTracing 機能を有効にします。
  • datadog_analytics_rate **RATE** は 0 から 1 のトレースに対して トレースアナリティクス を有効にします。送信されたすべてのトレースが分析されます。これは datadog のみ機能(ENDPOINT-TYPEdatadog の必要があります)
  • 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 プラグインを参照してください。