Trace Analyzer を使用して問題のトラブルシューティングを実行し、根本原因を特定する
Alexが問題の原因や蔓延状況を特定するために、Trace Analyzerを使用して、広範な傾向から単一のトレースにいたるまで、APMのデータを調査します。
Buttercup Games のサイト信頼性エンジニアである Alex は、精算中にエラーが発生した顧客のレポートを受け取りました。潜在的なインシデントを未然に防ぐために、Alex は Trace Analyzer を使用して、精算エラーがどの程度蔓延しているかを迅速に判断します。
精算のエラーがどの程度蔓延しているかを判断するため、Alexは以下の手順を踏みます:
Alex が顧客のトレースを見てエラーを確認する
カスタマーサポートは、Alex がトレースを取得してトラブルシューティングを開始するために使用するトレース ID を共有しました。Alex は、精算サービスの http リクエストが 500 エラーを返していることに気づきます。Alex は、このエラーが精算フローでどの程度蔓延しているかを迅速に把握したいと考えています。そのため、Alex は 500 を返すリクエストの http.url をメモしてさらに調査を行います。
アレックスが特定のタグでトレースをグループ化する
http.url はインデックス化されていないスパンであるため、Alex は Tag Spotlight を使用して http.url ごとにリクエストとエラーの内訳を表示することができません。そこで Alex は Trace Analyzer に移動し、[Group traces by] メニューで [http.url] を選択して、問題のあるトレースからメモした特定の http.url 値のエラーの蔓延度をすばやく把握します。Alex は、/checkout/{cardId} リクエストのトレースの 10% 以上にエラーがあることに気づきます。
Alexが特定のタグでTrace Analyzerにフィルターを適用する
Alexは、Trace Analyzerのフィルターに /checkout/{cardId} のhttp urlを追加し、この特定のエンドポイントのトレースを確認します。
Alexが正常なトレースとエラーのあるトレースを比較する
これでAlexは、/checkout/{cardId} のhttp urlの正常なトレースと、同じエンドポイントのエラーを持つトレースを確認し、比較することができます。
概要
完全忠実トレースによって提供される高解像度のデータを使用して、Alex は未知の問題の蔓延度を迅速に判断することができました。Trace Analyzer のグループ化とフィルタリングの機能を使用して、正常なトレースと問題のあるトレースを素早く分離し、エンジニアに提示して問題を隔離できるようにしました。
さらに詳しく
-
Trace Analyzer の詳細については、「Splunk APM の Trace Analyzer を使用してトレースを調査する」を参照してください。
-
Trace Analyzer のこの他の例については、Trace Analyzer を使用してトレースの遅延をトラブルシューティングする を参照してください。
-
APM の主要な概念の一覧は、「Splunk APM の主要な概念」を参照してください。
-
その他の Splunk APM の例については、Examples for troubleshooting errors and monitoring application performance using Splunk APM を参照してください。