Metrics Advisor を使用してインシデントを診断する

重要

2023 年 9 月 20 日以降は、新しい Metrics Advisor リソースを作成できなくなります。 Metrics Advisor サービスは、2026 年 10 月 1 日に廃止されます。

インシデントとは何でしょうか。

特定のタイムスタンプで 1 つのメトリック内の複数の時系列で異常が検出された場合、Metrics Advisor により、同じ根本原因を共有する異常は 1 つのインシデントに自動的にグループ化されます。 インシデントは通常、実際の問題を示します。その上で Metrics Advisor により分析が実行され、自動的に根本原因の分析情報が得られます。

これにより、お客様による個々の異常を確認する労力が大幅に軽減され、問題の最も重要な要因をすばやく見つけることができます。

Metrics Advisor によって生成されたアラートには、複数のインシデントが含まれる場合があり、各インシデントには、同じタイムスタンプの異なる時系列上でキャプチャされた複数の異常が含まれる場合があります。

インシデントを診断するためのパス

  • アラート通知から診断する

    メールまたは Teams 型のフックを構成し、少なくとも 1 つのアラート構成を適用した場合。 その後、Metrics Advisor によって分析されたインシデントをエスカレートする継続的なアラート通知を受け取ります。 通知内には、インシデントの一覧と簡単な説明があります。 インシデントごとに [診断] ボタンが表示され、これを選択すると、インシデントの詳細ページに移動して診断の分析情報が表示されます。

    Diagnose from an alert notification

  • "インシデント ハブ" のインシデントから診断する

    Metrics Advisor には、キャプチャされたすべてのインシデントを収集する一元的な場所があり、進行中の問題を簡単に追跡できます。 左側のナビゲーション バーで [インシデント ハブ] タブを選択すると、選択したメトリック内のすべてのインシデントが一覧表示されます。 インシデントの一覧で、そのうちの 1 つを選択して、詳細な診断分析情報を表示します。

    Diagnose from an incident in Incident hub

  • メトリック ページに一覧表示されているインシデントから診断する

    メトリックの詳細ページには、このメトリックでキャプチャされた最新のインシデントを一覧表示する [インシデント] という名前のタブがあります。 一覧は、インシデントの重大度またはメトリックのディメンション値によってフィルター処理できます。

    一覧で 1 つのインシデントを選択すると、インシデントの詳細ページに移動して診断分析情報が表示されます。

    Diagnose from an incident listed in metrics page

一般的な診断フロー

インシデントの詳細ページに移動すると、Metrics Advisor によって自動的に分析される分析情報を利用して、問題の根本原因をすばやく特定しすることや、分析ツールを使用して問題の影響をさらに評価することができます。 インシデントの詳細ページには、インシデントを診断するための 3 つの主要な手順に対応する 3 つのセクションがあります。

手順 1: 現在のインシデントの概要を確認する

最初のセクションでは、基本情報、アクションとトレース、分析された根本原因などの、現在のインシデントの概要が表示されます。

  • 基本情報には、"影響を受ける上位の系列" と図、"影響の開始および終了時刻"、"インシデントの深刻度"、"含まれる異常の総数" などがあります。 これを読むことで、進行中の問題とその影響についての基本的な理解を得ることができます。

  • トレースとアクションは、進行中のインシデントに対するチーム コラボレーションを容易にするために使用されます。 場合によっては、1 つのインシデントで、チーム間のメンバーがそれを分析して解決する作業が必要になることがあります。 インシデントを表示するアクセス許可を持つすべてのユーザーは、アクションまたはトレース イベントを追加できます。

    たとえば、インシデントを診断して根本原因を特定した後、エンジニアは "カスタム" 型のトレース項目を追加し、コメント セクションに根本原因を入力できます。 状態は [アクティブ] のままにします。 そうすることで、他のチームメイトが同じ情報を共有し、修正に取り組む人がいることを把握できます。 "Azure DevOps" 項目を追加して、特定のタスクまたはバグのあるインシデントを追跡することもできます。

  • 分析された根本原因は、自動的に分析された結果です。 Metrics Advisor により、同じタイムスタンプでディメンション値が異なり、1 つのメトリック内に含まれ、時系列でキャプチャされたすべての異常が分析されます。 次に、相関関係とクラスタリングを行い、関連する異常をグループ化し、根本原因のアドバイスを生成します。

Incident summary

複数のディメンションを持つメトリックの場合、複数の異常が同時に検出されるのは一般的なケースです。 ただし、これらの異常は同じ根本原因を共有する可能性があります。 すべての異常を 1 つずつ分析するのではなく、分析された根本原因を活用することが、現在のインシデントを診断するための最も効率的な方法です。

手順 2: クロスディメンション診断の分析情報を表示する

基本情報と自動分析の分析情報を得たら、 "診断ツリー" を使用して、同じメトリック内の他のディメンションの異常状態について、より詳細な情報を総合的に得ることができます。

複数のディメンションを持つメトリックの場合、Metrics Advisor により、時系列は診断ツリーと呼ばれる階層に分類されます。 たとえば、"収益" というメトリックは、"リージョン" と "カテゴリ" という 2 つのディメンションで監視されます。 具象ディメンション値ですが、 "SUM" のような集計済みディメンション値が必要です。 そこで、"リージョン" の時系列 = "SUM" と、"カテゴリ" = "SUM" の時系列がツリー内のルート ノードとして分類されます。 "SUM" のディメンションで異常がキャプチャされた場合、それを掘り下げて分析し、どの特定の次元の値が親ノードの異常に最も影響しているかを突き止めることができます。 各ノードを選択して展開し、詳細情報を表示します。

Cross dimension diagnostic using diagnostic tree

  • メトリックで "集計済み" ディメンション値を有効にするには

    Metrics Advisor でディメンションの "ロールアップ" を実行して、"集計済み" ディメンション値を計算できます。 診断ツリーでは、 "SUM"、"AVG"、"MAX"、"MIN"、"COUNT" 集計での診断がサポートされています。 "集計済み" ディメンション値を有効にするには、データのオンボード中に "ロールアップ" 関数を有効にします。 メトリックが数学的に計算可能であり、集計済みディメンションに実際のビジネス価値があることを確認してください。

    Roll-up settings

  • メトリックに "集計済み" ディメンション値がない場合

    メトリックに "集計済み" ディメンション値が含まれず、データのオンボード中に "ロールアップ" 関数が有効になっていない場合、 "集計済み" ディメンションに対して計算されたメトリック値はありません。ツリーに灰色のノードとして表示され、その子ノードを表示するために展開できます。

診断ツリーの凡例

診断ツリーには、次の 3 種類のノードがあります。

  • 青いノード: 実際のメトリック値を持つ時系列に対応します。
  • 灰色のノード: メトリック値がない仮想時系列に対応し、論理ノードです。
  • 赤いノード: 現在のインシデントの影響を最も受けた時系列に対応します。

各ノードの異常な状態は、ノードの境界線の色によって表されます

  • 赤い境界線: インシデントのタイムスタンプに対応する時系列でキャプチャされた異常を表します。
  • 赤以外の境界線: インシデントのタイムスタンプに対応する時系列で異常がキャプチャされていないことを表します。

表示モード

診断ツリーには、異常系列のみを表示するか、主要な要素を表示する、2 つの表示モードがあります。

  • 異常系列のみを表示するモードを使用すると、お客様は異なる系列でキャプチャされた現在の異常に焦点を合わせ、影響の大きい系列における根本原因を診断できます。
  • 主要な要素を表示するを使用すると、お客様は影響の大きい系列における主要な要素の異常な状態を確認できます。 このモードでは、異常が検出された系列と異常がなかった系列の両方がツリーに表示されます。 しかし、重要な系列にはより焦点があてられます。

分析オプション

  • 差分比率の表示

    "差分比率" は、親ノード差分と比較した現在のノード差分のパーセント値です。 数式は次のとおりです。

    (現在のノードの実測値 - 現在のノードの期待値) / (親ノードの実測値 - 親ノードの期待値) * 100%

    これは、親ノード差分の主な寄与を分析するために使用されます。

  • 値の割合を表示する

    "値の割合" は、親ノード値と比較した現在のノード値のパーセント値です。 数式は次のとおりです。

    (現在のノードの実測値 / 親ノードの実測値) * 100%

    これは、全体内の現在のノードの割合を評価するために使用されます。

"診断ツリー" を使用すると、お客様は現在のインシデントの根本原因を特定のディメンションに見つけることができます。 これにより、個々の異常を確認したり、さまざまなディメンションをピボットして主要な異常の寄与を見つけたりするお客様の労力が大幅に削減されます。

手順 3: "メトリック グラフ" を使用してクロスメトリック診断の分析情報を表示する

1 つのメトリックの異常状態を確認するだけでは問題を分析することが難しく、場合によっては複数のメトリックを関連付けて分析する必要があります。 お客様は、メトリック間の関係を示す メトリック グラフ を構成できます。 開始するには、メトリック グラフの作成方法に関するページを参照してください。

"メトリック グラフ" 内の根本原因ディメンションの異常状態を確認する

上のクロスディメンションの診断結果を利用して、根本原因を特定のディメンション値に絞り込むことができます。 次に、"メトリック グラフ" を使用し、分析された根本原因のディメンションでフィルター処理し、他のメトリックの異常状態を確認します。

たとえば、"収益" メトリックでキャプチャされたインシデントがあるとします。 影響の大きい系列は、"region" = "SUM" のグローバル リージョンにあります。 クロスディメンション診断を使用することにより、根本原因が "region" = "Karachi" に特定されました。 事前設定されたメトリック グラフには、"収益"、"コスト"、"DAU"、"PLT (ページ読み込み時間)"、"CHR (キャッシュ ヒット率)" のメトリックが含まれます。

Metrics Advisor により、"region" = "Karachi" の根本原因ディメンションでメトリック グラフが自動的にフィルター処理され、各メトリックの異常ステータスが表示されます。 メトリックと異常状態の関係を分析することで、お客様は最終的な根本原因についてさらに分析情報を得ることができます。

Cross metrics analysis

メトリック グラフに根本原因ディメンション フィルターを適用すると、現在のインシデントのタイムスタンプにある各メトリックの異常が自動関連付けされます。 これらの異常は、現在のインシデントで特定された根本原因に関連しているはずです。

Auto related anomalies

次のステップ