Splunk APMでサービス、スパン、トレースを管理する 🔗
スパンとトレースは、Splunk APMにおけるアプリケーション監視の支柱を形成します。以下のトピックを使用してスパンとトレースについて理解し、スパンとトレースを効果的に管理することで、APMの完全忠実トレースを最大限に活用できるようになります:
サービスは、Splunk APMで監視できるシステムの重要な構成要素です。
トレースは、アプリケーションとその構成サービスによって処理される一意のトランザクションを表す操作の集まりです。スパンは、トレース内の単一の操作を表します。
Splunk APMは、受信したスパンをトレースに収集し、それらを分析して、アプリケーションデータへの完全忠実のアクセスを提供します。トレースのすべてのスパンが取り込まれ分析されると、APMのすべての場所でトレースを表示できるようになります。
次の画像は、トレースとスパンの関係を説明したものです:

スパンは、他のスパンを親として参照し、トレースに関与する操作間の関係を示すことがあります。上記の画像では、スパンAが親スパンであり、スパンBは子スパンです。この関係は、例えば、スパンBがキャプチャする操作をトリガーするサービスコールをスパンAが実行するということを示している可能性があります。この画像では、スパンCはさらにスパンBの子で…というように続いています。
各スパンは、そのスパンがキャプチャする操作と、その操作が行われたサービスに関するメタデータを含みます。
スパンのメタデータには、サービスや操作などの情報を含む基本的なメタデータのセットが含まれます。スパンには、その他の操作固有のメタデータを提供するスパンタグも含まれます。詳細については、このトピックの「スパンタグ」のセクションを参照してください。
各スパンは以下の基本的なメタデータを含みます:
スパンタグキー |
値の例 |
説明 |
---|---|---|
サービス |
|
スパンに関連するサービスの名前 |
操作 |
|
スパンが表す操作の名前 |
スパンID |
|
特定のスパンに対する16文字の一意識別子 |
親ID(該当する場合) |
|
スパンの親スパン(親スパンがある場合)の16文字の一意識別子 |
時間(開始 - 終了) |
|
スパンの開始タイムスタンプと終了タイムスタンプ |
期間 |
|
スパンの継続時間(秒、ミリ秒、マイクロ秒のいずれか) |
相対開始時刻 |
|
親トレースの開始からこの特定のスパンの開始までのディレイ |
スパンタグは、キーと値のペアであり、スパンが表す操作に関する追加情報とコンテキストを提供します。キーと値はどちらも文字列で、単一のスパンのスパンタグのキーは一意でなければなりません。スパンタグを使用して、トレースのクエリやフィルタリングを行ったり、トラブルシューティング中にトレースのスパンに関する情報を取得したりすることができます。
OpenTelemetry Collector経由で、またはアプリケーションをインストルメントする際に、カスタムスパンタグを追加できます。スパンタグを使用してサービスのパフォーマンスを分析する方法の詳細は、Splunk APMでスパンタグとMetricSetsを使ってサービスを分析する を参照してください。
スパンタグは、シンプルで信頼できる命名規則に従うと最も使いやすくなります。OpenTelemetryのスパンタグの命名規則に関する詳細は スパンタグの命名規則に従う を参照してください。
注釈
Splunk APMのスパンタグは、Splunk Infrastructure Monitoringのメタデータタグとは異なり、キーと値のペアではなく文字列の形式でメトリクスディメンションに割り当てることができる検索可能なラベルまたはキーワードです。メタデータタグの詳細については、Infrastructure Monitoringタグ を参照してください。