Splunk APMの主要な概念 🔗
Splunk APMは、分散システムを構成するマイクロサービス間のインタラクションの全体像を把握するためにインストルメント済みのすべてのアプリケーションからあらゆるスパンを収集する、アプリケーションパフォーマンス監視ソリューションです。
概念 |
説明 |
---|---|
特に関心のあるトランザクションまたはユーザーフローを追跡する相関トレースの一式。 |
|
データセット内の明確に区別できる値の数。 |
|
ルートスパンが |
|
同じアプリケーションの他のデプロイメントと直接やりとりしない、アプリケーションの識別可能なデプロイメント。 |
|
SplunkがTroubleshooting MetricSetsを生成する対象のスパンタグ。 |
|
Splunk APMにインストルメントされていないが、リモートサービスに対してコールを実行するスパンの情報に基づいてSplunk APMが識別できるリモートサービス。 |
|
Splunk APMでトレースとスパンに基づいて計算される、リクエスト率、エラー率および時間などの主要な指標の値を経時的にキャプチャしたメトリック時系列の一式。 |
|
Splunk APMのリアルタイム監視機能(チャート、ダッシュボード、ディテクターなど)を強化するメトリック時系列。 |
|
サービスによって実行される特定のアクション。 |
|
他のサービスに接続して完全なアプリケーションを構成するソフトウェアの単位。 |
|
インストルメント済みサービスと推定サービス、およびそれらの関係を視覚化したもの。 |
|
アプリケーションやサービスのシステム内の単一の操作。 |
|
スパンに付加されるメタデータの一つで、そのスパンが表す操作の詳細情報を提供するもの。 |
|
インデックス済みスパンタグに基づく、サービスのトップダウンビュー。 |
|
スパンと呼ばれる操作の集まりで、あるアプリケーションが処理する一意のトランザクションを表すもの。 |
|
すべてのインストルメント済みサービスからのすべてのトレースを検索し、探しているトレースを正確に見つける。 |
|
特定のトレースのスパンウォーターフォールチャートを表示し、そのトレース内のスパンを検索する。 |
|
APMにおけるIDの高カーディナリティのトラブルシューティングや、スパンやワークフロー間の履歴的比較に使用されるメトリック時系列。 |
サービスとは、Splunk APMで監視できるシステムの重要な構成要素です。以下は、サービスに関連する用語および概念です。
ルートスパンが span.kind = SERVER
である場合の特定の種類の操作。指定されたサービスには通常、1つ以上のエンドポイントが関連付けられています。
「環境」という用語はデプロイメントの環境を指しており、同じアプリケーションの他のデプロイメントと直接やりとりしない、Splunk APMの識別可能なデプロイメントのことです。開発、ステージング、本番環境など、開発プロセスのさまざまな段階で別々のデプロイメント環境が使用されることがよくあります。詳しくは Splunk APMでデプロイ環境を設定する を参照してください。
Splunk APMにインストルメントされていないが、リモートサービスに対してコールを実行するスパンの情報に基づいてSplunk APMが識別できるリモートサービス。推定サービスには、外部サービスプロバイダー、pub/sub、リモートプロシージャコール(RPC)、データベースなど含まれる場合が多くあります。詳しくは 推定サービスのパフォーマンスを分析する を参照してください。
OpenTelemetry Collectorを使用してサービスをインストルメントし、そのスパンを Splunk APMに送信します。SignalFx Smart Agentは現在非推奨となっており、2023年6月30日にサポートが終了します。Smart AgentからCollectorへの移行については、移行ガイド を参照してください。
サービスのインストルメンテーションの詳細については、バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する を参照してください。
サービスによって実行される特定のアクション。インストルメント済みサービスの各操作は、個々のスパンでキャプチャされます。
サービスとは、他のサービスに接続して完全なアプリケーションを構成する、小規模かつ柔軟で自立したソフトウェアの単位です。サービスは通常、アプリケーションの全機能を提供するために、分散された動的なアーキテクチャ内で他のサービスのエンドポイントと連携するAPIエンドポイントおよび操作の集合を表します。
「サービス」とは、コンテナサービス(DockerやKubernetesなど)、マイクロサービス、さらにはサーバーレス関数の呼び出しまでを包含する総称です。アプリケーションを構成する各サービスをインストルメントすることで、サービス内の操作を表すスパンや、サービス全体の操作の集合を表すトレースを収集して、Splunk APMでこれらのアクティビティを分析・監視することができます。
インストルメント済みサービス、推定サービス、およびそれらの関係を視覚化したもの。サービスマップは、時間範囲、環境、ワークフロー、サービス、タグのフィルターの選択に基づいて動的に生成されます。APMでのサービスマップの使用については サービスマップでサービス間の依存関係を表示する、専用のシナリオについては シナリオ:KaiがSplunk APMのサービスマップを使用してエラーの根本原因を調査する を参照してください。
スパンとトレースは、Splunk APMにおけるアプリケーション監視の支柱を形成します。次の画像は、トレースとスパンの関係を説明したものです:
以下は、スパンとトレースに関連する用語および概念です。
ビジネスワークフローを使用すると、特に関心のあるトランザクションまたはユーザーフローを追跡する一連の関連トレースを相関付けることができます。
詳細は、以下を参照してください:
ビジネスワークフローの概要は、トレースを関連付けてビジネスワークフローを追跡する
ビジネスワークフローに関連するシナリオは、シナリオ:Weiがビジネスワークフローを設定してビジネスKPIを追跡する
スパンタグのインデックスを作成すると、Splunk APMに対して、このタグに特に関心があり、このタグの追加分析を生成したいということを示すことになります。スパンタグをインデックス化すると、そのタグのTroubleshooting MetricSetsが生成されます。サービスレベルのスパンタグをインデックス化する場合は、そのスパンタグをディメンションとして使用して、カスタムディメンション化されたMonitoring MetricSetsを生成するオプションも利用できます。
スパンタグのインデックス作成方法については、Index span tags to create Troubleshooting MetricSets を参照してください。
アプリケーションやサービスのシステム内の単一の操作。スパンには、そのスパンが表す操作の場所や期間といったメタデータを提供するスパンタグが含まれます。関連するスパンのグループは、トレースを構成します。詳しくは、Splunk APMでサービス、スパン、トレースを管理する を参照してください。
スパンに添付されるメタデータの1つで、そのスパンが表す操作の詳細情報を提供します。スパンタグの例には、service.name
や http.operation
があります。スパンタグは、インストルメンテーションする際、またはSplunk Distribution of OpenTelemetry Collectorで、スパンに追加することができます。スパンタグは、OpenTelemetryのコンテキストでは「属性」とも呼ばれます。
詳細は Splunk APMでスパンタグとMetricSetsを使ってサービスを分析する を参照してください。
Splunk APMのTag Spotlightビューは、インデックス済みスパンタグに基づくサービスのトップダウンビューを提供します。
詳細は、以下を参照してください:
Tag Spotlightの説明は、Tag Spotlightでサービスのトップダウンビューを取得する を参照してください。
Tag Spotlightを活用する具体的なシナリオについては、シナリオ:DeepuがTag Spotlightを使用してエラーの根本原因を見つける を参照してください。
スパンと呼ばれる関連操作の集まりで、アプリケーションが処理する一意のトランザクションを表すもの。詳細は Splunk APMでサービス、スパン、トレースを管理する を参照してください。
Trace Analyzerでは、すべてのトレースを検索することによりSplunk APMの完全忠実トレースを使用して、特定の問題の正確な原因を見つけます。
詳細は、トレースサーチの活用について説明した専用シナリオ( シナリオ:AlexがTrace Analyzerを使用して問題のトラブルシューティングを実行し、根本原因を特定する )を参照してください。
「トレースビュー」では、特定のトレースのスパンウォーターフォールチャートを表示し、そのトレース内のスパンを検索することができます。
詳細は、以下を参照してください:
トレースビューの概要は、Trace Analyzerで特定のトレースのレイテンシを調査する を参照してください
スパンサーチの詳細は、トレース内でのスパンの表示およびフィルタリング を参照してください
MetricSetは、Splunk APMを強化する中核型のメトリクスデータです。
MetricSetは、Splunk APMでトレースとスパンに基づいて計算される、リクエスト率、エラー率、時間などの主要指標の経時的な値をキャプチャするメトリック時系列のセットです。MetricSetは、関心のあるスパンタグにインデックスを付けることで生成します。以下はMetricSetに関連する用語および概念です。
データセット内の明確に区別できる値の数。カーディナリティの低いデータでは、この値の数が少なくなります。カーディナリティの高いデータではこの値の数が多く、分析や保存のためにより多くの計算とストレージを必要とします。
高カーディナリティのデータの扱いについては、Monitoring MetricSetsでのカーディナリティのトラブルシューティング を参照してください。
リアルタイムでサービスのパフォーマンスを監視し、アラートを発するために使用されるメトリック時系列。MMSは、APMのランディングページとダッシュボードのリアルタイムビューを強化するものであり、ディテクターが監視しアラートの生成のために使用するメトリクスです。MMSは、Infrastructure Monitoringのメトリック時系列と同じ機能を使用して、アプリケーションやサービスのパフォーマンスを監視し、アラートを発します。
MMSの詳細については、Monitoring MetricSetsメトリックセットの監視 を参照してください。
APMにおけるIDの高カーディナリティのトラブルシューティングや、スパンやワークフロー間の履歴的比較に使用されるメトリック時系列。Splunk APMは、インデックス済みスパンタグに基づいてTMSを生成します。
詳細は、Troubleshooting MetricSets を参照してください。