演習 - アプリケーション パフォーマンス監視
この演習では、構成せずに、サンプル アプリケーションのデータ フローを簡単に監視します。
Azure Application Insights を使用してアプリケーションを監視する
アプリケーション マップは、分散アプリケーションのすべてのコンポーネントにおけるパフォーマンスのボトルネックや障害ホットスポットを特定するのに役立ちます。
Azure portal を開きます。
Azure サービスの一覧から Azure Spring Apps を選択します。
ご自分の Azure Spring Apps インスタンスを選択します。
Application Insights を選択して、Application Insights の概要ページに移動します。
左側で、 アプリケーション マップに移動します。Azure Spring Apps マイクロサービスのビューが表示されます。
アプリケーション マップには、正常に動作しているアプリケーション (緑) と、ボトルネックになっているアプリケーション (赤) が表示されます。
上記のアプリケーション マップでは、緑色のボックス内の各名前は Azure Spring Apps のさまざまなサービスです。
アプリケーションの問題を簡単に特定し、それらのトラブルシューティングを迅速に行って修正できます。 マップ上の各ノードは、マイクロサービスまたはその依存関係と共に、正常性の KPI やアラートの状態を表しています。 任意のコンポーネントを選択して、さらに詳しい診断結果 (Application Insights イベントなど) にアクセスすることができます。
パフォーマンス
左側の [ パフォーマンス] に移動します。ここで、アプリケーションによって公開される操作の応答時間と要求数を確認できます。
次に、右側の [依存関係] に移動します。ここで、すべての依存関係とその応答時間と要求数を確認できます。
依存関係 (特に SQL 呼び出し) のパフォーマンスの数値が表示されます。
[ 操作の選択 ] タブで SQL ステートメントを選択して、コンテキスト内のトランザクションを表示します。
次に、右側のタブで [ ドリルイン] を選択し、右端のタブで SQL サンプルを選択してトランザクションの詳細ウィンドウを開きます。
最後に、 エンドツーエンドのトランザクションの詳細 ビューで、SQL ステートメントを選択してサンプルの SQL ステートメント トランザクションを表示します。
失敗と例外
[調査] セクションにある Application Insights リソース メニューの [失敗] を選択します。 このビューでは、上位 3 件の失敗応答コード、上位 3 件の例外の種類、上位 3 件の失敗した依存関係の種類が表示されます。
右側で、意味のある分析情報とアクション可能なスタック トレースの 上位 3 つの例外の種類で例外 を選択します。
次に、右側のタブで、 推奨される 例外サンプルを選択して、トランザクションの詳細ウィンドウを開きます。
エンド ツー エンド トランザクションの詳細ウィンドウで例外プロパティを次に表示します。
最後に、画面の中央にある [エンド ツー エンド トランザクション ] タブで、例外を選択して詳細とスタックトレースを表示します。
メトリック
Spring Boot では多くのコア メトリックが登録されます: JVM、CPU、Tomcat、Logback などです。 Spring Boot アプリ、Spring Apps モジュール、依存関係から提供されたメトリックを確認できます。
標準メトリック グラフを作成するには、[ 監視 ] セクションで [ メトリック ] タブを開き、次の手順に従います。
Azure Spring Apps が [スコープ] で選択されていること、および [メトリック名前空間] に [Azure Spring Apps] が選ばれていることを確認してください。 リソースのメニューからメトリックス エクスプローラーを開いた場合、両方とも既に設定されています。
次に、[メトリック] で [アプリの CPU 使用率] を選択し、[集計] で [平均] を選択します。
右側のメトリック バーの [ティック ] アイコンを選択して、最初のメトリックを保存します。
次に、左上のツールバーで [メトリックの追加] アクションを選択し、別のメトリックを追加します。[メトリック] に system.cpu.usage を、[集計] に Avg を追加します。
次に、右側のメトリック バーの [ティック ] アイコンを選択して、2 番目のメトリックを保存します。
カスタム メトリック
Azure でリソースやアプリケーションをデプロイするとき、それらのパフォーマンスや正常性についての洞察を得るために、テレメトリの収集を開始することができます。 Azure には、すぐに利用できるいくつかのメトリックがあります。 これらのメトリックは "標準" または "プラットフォーム" と呼ばれます。 ただし、これらの用途はあくまで限定的なものです。 より詳細な洞察を得るために、いくつかのカスタム パフォーマンス指標またはビジネス固有のメトリックを収集することができます。
標準メトリック グラフと同様に、カスタム メトリック グラフを作成するには、[監視] セクションの [メトリック] タブを開き、次の手順に従います。
リソース スコープ ピッカーでご自分の Azure Spring Apps が選択されていることを確認します。 リソースのメニューからメトリックス エクスプローラーを開いた場合、既に設定されています。
次に、[ メトリック名前空間] で 、azure.applicationinsights 名前空間を 選択します。 名前空間は、メトリックを簡単に見つけることができるように整理するために用意された手段です。
次に、[ メトリック] で、次のカスタム メトリックと集計を追加します。
次に、右上のグラフの種類を 面グラフに変更します。
最終的なグラフには、pet、vet、および owner の各マイクロサービスについて、過去 24 時間のカウントが表示されます。
ライブ メトリック
Web アプリの新しいバージョンをデプロイする場合は、パフォーマンスへの影響をすぐに把握する必要があります。 応答時間が改善しているか、悪化しているか、または失敗を示しているか。 デプロイが行われている間、Application Insights の Live Metrics Stream を監視すると、すぐに影響がわかります。 問題が発生した場合は、影響を受けるユーザーが多くなる前にデプロイを取り消すことができます。
Live Metrics Stream を使用すると、ライブ アプリケーションのハートビートをプローブできます。 メトリックやパフォーマンス カウンターを選択してフィルター処理し、サービスに支障をきたすことなく、リアルタイムで監視できます。 失敗した要求と例外のサンプルからスタック トレースを確認することもできます。