演習 - アプリケーション パフォーマンス監視

完了

この演習では、構成せずに、サンプル アプリケーションのデータ フローを簡単に監視します。

Azure Application Insights を使用してアプリケーションを監視する

アプリケーション マップは、分散アプリケーションのすべてのコンポーネントにおけるパフォーマンスのボトルネックや障害ホットスポットを特定するのに役立ちます。

  1. Azure portal を開きます。

  2. Azure サービスの一覧から [Azure Spring Apps] を選択します。

  3. ご自分の Azure Spring Apps インスタンスを選択します。

  4. [Application Insights] を選択して、Application Insights の概要ページに移動します。

    Spring アプリのアプリケーション分析情報を示すスクリーンショット。

  5. 左側で [アプリケーション マップ] に移動すると、Azure Spring Apps マイクロサービスのビューが表示されます。

アプリケーション マップには、正常に動作しているアプリケーション (緑) と、ボトルネックになっているアプリケーション (赤) が表示されます。

上記のアプリケーション マップでは、緑色のボックス内の各名前は Azure Spring Apps のさまざまなサービスです。

アプリケーションの問題を簡単に特定し、それらのトラブルシューティングを迅速に行って修正できます。 マップ上の各ノードは、マイクロサービスまたはその依存関係と共に、正常性の KPI やアラートの状態を表しています。 任意のコンポーネントを選択して、さらに詳しい診断結果 (Application Insights イベントなど) にアクセスすることができます。

パフォーマンス

  1. 左側で [パフォーマンス] に移動すると、アプリケーションによって公開される操作の応答時間と要求数を確認できます。

    Azure Spring Apps インスタンスの操作パフォーマンス ビューを示すスクリーンショット。

  2. 次に、右側で [依存関係] に移動すると、すべての依存関係およびその応答時間と要求数を確認できます。

    依存関係 (特に SQL 呼び出し) のパフォーマンスの数値が表示されます。

    依存関係パフォーマンス ビューを示すスクリーンショット。

  3. [操作の選択] タブで SQL ステートメントを選択すると、コンテキスト内のトランザクションが表示されます。

    SQL トランザクションを示すスクリーンショット。

  4. 次に、右側のタブで [詳細の表示] を選択し、右端のタブで SQL サンプルを選択すると、トランザクションの詳細ウィンドウが開きます。

    SQL サンプルのトランザクションを示すスクリーンショット。

  5. 最後に、エンドツーエンド トランザクションの詳細ビューで、SQL ステートメントを選択して、サンプルの SQL ステートメントのトランザクションを表示します。

    SQL トランザクションの詳細を示すスクリーンショット。

失敗と例外

  1. Application Insights リソース メニューの [調査] セクションにある [失敗] を選択します。 このビューでは、上位 3 件の失敗応答コード、上位 3 件の例外の種類、上位 3 件の失敗した依存関係の種類が表示されます。

    Azure Spring Apps インスタンスの [失敗] ビューを示すスクリーンショット。

  2. 右側で、有意義な分析情報とアクションにつながるスタック トレースを確認するために [上位 3 件の例外の種類] で例外を選択します。

    例外画面を示すスクリーンショット。

  3. 次に、右側のタブで、[提案] の例外のサンプルを選択して、トランザクションの詳細ウィンドウを開きます。

    例外の詳細画面を示すスクリーンショット

  4. 次に、[エンドツーエンド トランザクションの詳細] ウィンドウで例外のプロパティを表示します。

    例外の詳細画面を示すスクリーンショット。

  5. 最後に、画面の中央にある [エンド ツー エンド トランザクション] タブで、例外を選択して、その詳細とスタックトレースを表示します。

    例外のスタックトレース画面を示すスクリーンショット。

メトリック

Spring Boot では多くのコア メトリックが登録されます: JVM、CPU、Tomcat、Logback などです。 Spring Boot アプリ、Spring Apps モジュール、依存関係から提供されたメトリックを確認できます。

標準メトリックのグラフを作成するには、[監視] セクションにある [メトリック] タブを開き、これらの手順に従います。

  1. [スコープ] でご自分の Azure Spring Apps が、[メトリック名前空間][Azure Spring Apps] が選択されていることを確認します。 リソースのメニューからメトリックス エクスプローラーを開いた場合、両方とも既に設定されています。

    メトリックを示すスクリーンショット。

  2. 次に、[メトリック][アプリの CPU 使用率] を選択し、[集計][平均] を選択します。

    アプリの CPU メトリックの追加を示すスクリーンショット。

  3. 右側のメトリック バーの [チェックマーク] アイコンを選択して、1 つ目のメトリックを保存します。

    メトリックの選択項目を示すスクリーンショット。

  4. 次に、左上のツール バーにある [メトリックの追加] アクションを選択して別のメトリックを追加し、[メトリック][system.cpu.usage][集計][平均] を追加します。

    システムの CPU メトリックの追加を示すスクリーンショット。

  5. 次に、右側のメトリック バーの [チェックマーク] アイコンを選択して、2 つ目のメトリックを保存します。

    システムの CPU メトリックの保存を示すスクリーンショット。

  6. 最後に、アプリとシステムの両方の CPU メトリックを示すメトリック グラフを確認します。 システムとアプリの CPU メトリックを示すスクリーンショット

カスタム メトリック

Azure でリソースやアプリケーションをデプロイするとき、それらのパフォーマンスや正常性についての洞察を得るために、テレメトリの収集を開始することができます。 Azure には、すぐに利用できるいくつかのメトリックがあります。 これらのメトリックは "標準" または "プラットフォーム" と呼ばれます。 ただし、これらの用途はあくまで限定的なものです。 より詳細な洞察を得るために、いくつかのカスタム パフォーマンス指標またはビジネス固有のメトリックを収集することができます。

標準メトリックのグラフと同様に、カスタム メトリックのグラフを作成するには、[監視] セクションにある [メトリック] タブを開き、これらの手順に従います。

  1. リソース スコープ ピッカーでご自分の Azure Spring Apps が選択されていることを確認します。 リソースのメニューからメトリックス エクスプローラーを開いた場合、既に設定されています。

  2. 次に、[メトリックの名前空間][azure.applicationinsights] 名前空間を選択します。 名前空間は、メトリックを簡単に見つけることができるように整理するために用意された手段です。

    カスタム メトリックの名前空間の選択項目を示すスクリーンショット。

  3. 次に、[メトリック] で、次のカスタム メトリックと集計を追加します。

    • メトリック: petclinic_pet、集計: count

      カスタム メトリックのメトリックと集計の選択項目を示すスクリーンショット。

    • メトリック: petclinic_owner、集計: count

    • メトリック: petclinic_visit、集計: count

      完成したカスタム メトリック ビューを示すスクリーンショット。

  4. 次に、右上でグラフの種類を [面グラフ] に変更します。

    カスタム メトリック ビューのグラフの種類の選択項目を示すスクリーンショット。

    最終的なグラフには、pet、vet、および owner の各マイクロサービスについて、過去 24 時間のカウントが表示されます。

    最終的なカスタム メトリック ビューを示すスクリーンショット。

ライブ メトリック

Web アプリの新しいバージョンをデプロイする場合は、パフォーマンスへの影響をすぐに把握する必要があります。 応答時間が改善しているか、悪化しているか、または失敗を示しているか。 デプロイが行われている間、Application Insights の Live Metrics Stream を監視すると、すぐに影響がわかります。 問題が発生した場合は、影響を受けるユーザーが多くなる前にデプロイを取り消すことができます。

Live Metrics Stream を使用すると、ライブ アプリケーションのハートビートをプローブできます。 メトリックやパフォーマンス カウンターを選択してフィルター処理し、サービスに支障をきたすことなく、リアルタイムで監視できます。 失敗した要求と例外のサンプルからスタック トレースを確認することもできます。

  1. 左側の [調査] で、[Live Metrics] に移動すると、ほぼリアルタイム (わずか 1 秒以内) でライブ メトリックを確認できます。

    Azure Spring Apps のライブ メトリック ビューを示すスクリーンショット。

  2. メトリックを下へスクロールすると、各マイクロサービスのメトリックが表示されます。

    Azure Spring Apps のサービスのライブ メトリック ビューを示すスクリーンショット。