トレースデータ収集¶
Guance のトレースデータ収集は、現在 Opentracing プロトコルに対応したコレクターの使用をサポートしています。DataKit でトレースデータ受信サービスを有効にした後、コード内でコレクターのインストルメンテーションを完了することで、DataKit が自動的にデータのフォーマット変換と収集を行い、最終的に Guance に報告します。
データ収集¶
DataKit は現在、DDTrace、Apache Jaeger、OpenTelemetry、Skywalking、Zipkin などのサードパーティ製トレーシングデータの収集をサポートしています。
収集の前提条件¶
- DataKit のインストール;
- すべてのトレースデータ収集に関連するコレクターを設定します。
コレクター設定¶
フィールド説明¶
DataKit は、コレクターの種類に応じて報告されたデータを Guance のトレースデータ形式に変換し、タグとメトリクスを保持します。以下は一般的なフィールドの説明です:
| フィールド名 | 説明 |
|---|---|
host |
ホスト名。デフォルトのグローバルタグ |
source |
トレースのソース。Zipkin で収集された場合は zipkin、Jaeger で収集された場合は jaeger となり、以降同様に続きます |
service |
サービス名。このタグを使用して、トレースデータを生成した業務システムの名前を指定することを推奨します |
parent_id |
現在の span の直前の span の ID |
operation |
現在の span の操作名。Span 名とも解釈できます |
span_id |
現在の span の一意の ID |
trace_id |
現在のトレースの一意の ID |
span_type |
Span のタイプ。現在サポートされているのは entry、local、exit、unknow です。entry span は、サービスに入るときに作成される span を表します。つまり、このサービスが他のサービスへの呼び出しリクエストを提供するエンドポイントです。ほとんどの span は entry span であるべきです。entry タイプの span のみが独立したリクエストと見なされます。local span は、その span がリモート呼び出しとは関係なく、ローカルメソッド呼び出し時に作成される span を表します。例えば、通常の Java メソッドなどです。exit span は、サービスを離れるときに作成される span を表します。例えば、リモート呼び出しを開始するときや、メッセージキューにメッセージを生成するときなどです。unknow span は、不明な Span を表します。 |
endpoint |
リクエストのターゲットアドレス。クライアントがターゲットサービスにアクセスするためのネットワークアドレス。例:127.0.0.1:8080。デフォルト:null |
message |
トレース変換前に収集された生データ |
duration |
現在のトレース span の持続時間 |
status |
トレースのステータス。info:情報、warning:警告、error:エラー、critical:重大、ok:成功 |
env |
トレースの所属環境。例えば、dev は開発環境、prod は本番環境を示すために使用できます。ユーザーがカスタマイズ可能 |
その他のフィールド一覧については、DataKit Tracing データ構造 を参照してください。