クイックスタート: ログ、メトリック、トレースを使用した Azure Spring Apps アプリの監視
Note
Basic、Standard、および Enterprise プランは、2025 年 3 月中旬から廃止され、3 年間の提供終了期間となります。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の提供終了のお知らせ」を参照してください。
Standard 従量課金プランと専用プランは、2024 年 9 月 30 日以降は非推奨となり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金プランと専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象: ✔️ Basic または Standard ❌ Enterprise
Azure Spring Apps の組み込み監視機能を使用すると、複雑な問題をデバッグおよび監視できます。 Azure Spring Apps は、Steeltoe 分散トレースと Azure の Application Insights を統合します。 この統合により、Azure portal から強力なログ、メトリック、および分散トレース機能を利用できます。
次の手順では、前のクイックスタートでデプロイしたサンプル アプリで、ログ ストリーミング、Log Analytics、メトリック、分散トレースを使用する方法について説明します。
前提条件
このシリーズの先行する次のクイックスタートを完了しておきます。
ログ
Azure Spring Apps でログを表示するには、次の 2 つの方法があります。アプリ インスタンスごとのリアルタイム ログのログ ストリーミング、または高度なクエリ機能を使用して集計されたログのログ分析。
ログ ストリーミング
Azure portal でログをストリーミングするには、次の手順に従います。
Azure Spring Apps サービス インスタンスの [概要] ページに移動し、ナビゲーション ペインの [アプリ] を選択します。
ターゲット アプリを見つけ、コンテキスト メニューを選択します。
ポップアップ コンテキスト メニューで、[ログ ストリームの表示] を選択します。
既定では、ランダムに選択されたアプリ インスタンスについてログのストリーミングが開始されます。 その後で、目的とする操作を実行できます。
便宜上、ログをストリーミングするためのエントリ ポイントは多数あります。 それらは、次のペインにあります。
- [アプリ リスト] ペイン
- [デプロイ リスト] ペイン
- [アプリ インスタンス リスト] ペイン
Log Analytics
Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Logs](ログ) を選択します。 Azure Spring Apps のいずれかのサンプル クエリで [Run](実行) を選択します。
クエリを編集し、表示を警告とエラーのログに制限する Where 句を削除します。
[実行] を選択します。 ログが表示されています。 詳細については、「Azure Monitor でログ クエリの使用を開始する」を参照してください。
Log Analytics で使用されるクエリ言語の詳細については、「Azure Monitor ログ クエリ」を参照してください。 一元化されたクライアントからすべての Log Analytics ログを照会する場合は、Azure Data Explorer に関するページを参照してください。
メトリック
Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Metrics](メトリック) を選択します。 最初のメトリックを追加するには、[メトリック] ドロップダウンで [パフォーマンス (.NET)] または [要求 (.NET)] の下の .NET メトリックのどれかを選択します。また、そのメトリックのタイムラインを表示するには、[集計] で [Avg] を選択します。
ツール バーで [Add filter]\(フィルターの追加\) を選択し、
App=solar-system-weather
を選択して、solar-system-weather アプリのみの CPU 使用率を表示します。前の手順で作成したフィルターを破棄し、[分割の適用] を選択します。[値] で [アプリ] を選択して、さまざまなアプリごとの CPU 使用率を表示します。
分散トレース
Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Distributed tracing](分散トレース) を選択します。 次に、右側の [View application map](アプリケーション マップの表示) タブを選択します。
これで、アプリ間の呼び出しの状態を確認できるようになりました。
solar-system-weather と planet-weather-provider の間のリンクを選択すると、HTTP メソッドごとの最低速の呼び出しなどの詳細が表示されます。
最後に、 [パフォーマンスの調査] を選択して、より強力な組み込みのパフォーマンス分析を調べます。
Azure Spring Apps の組み込み監視機能を使用すると、複雑な問題をデバッグおよび監視できます。 Azure Spring Apps は、Spring Cloud Sleuth と Azure の Application Insights を統合します。 この統合により、Azure portal から強力なログ、メトリック、および分散トレース機能を利用できます。 次の手順では、デプロイされた PetClinic アプリでログ ストリーミング、ログ分析、メトリック、および分散トレースを使用する方法について説明します。
前提条件
このシリーズの先行する次のクイックスタートを完了しておきます。
ログ
Azure Spring Apps でログを表示するには、次の 2 つの方法があります。アプリ インスタンスごとのリアルタイム ログのログ ストリーミング、または高度なクエリ機能を使用して集計されたログのログ分析。
ログ ストリーミング
Azure portal でログをストリーミングするには、次の手順に従います。
Azure Spring Apps サービス インスタンスの [概要] ページに移動し、ナビゲーション ペインの [アプリ] を選択します。
ターゲット アプリを見つけ、コンテキスト メニューを選択します。
ポップアップ コンテキスト メニューで、[ログ ストリームの表示] を選択します。
既定では、ランダムに選択されたアプリ インスタンスについてログのストリーミングが開始されます。 その後で、目的とする操作を実行できます。
便宜上、ログをストリーミングするためのエントリ ポイントは多数あります。 それらは、次のペインにあります。
- [アプリ リスト] ペイン
- [デプロイ リスト] ペイン
- [アプリ インスタンス リスト] ペイン
Log Analytics
[service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Logs](ログ) を選択します。 Azure Spring Apps のいずれかのサンプル クエリで [Run](実行) を選択します。
そして、フィルター処理されたログが表示されます。 詳細については、「Azure Monitor でログ クエリの使用を開始する」を参照してください。
メトリック
[Application Insights] ページに移動し、次に [メトリック] ページに移動します。 Spring Boot アプリ、Spring モジュール、依存関係によって提供されるメトリックを確認できます。
次のグラフは、gateway_requests
(Spring Cloud Gateway)、hikaricp_connections
(JDBC 接続)、http_client_requests
を示しています。
Spring Boot では、JVM、CPU、Tomcat、Logback など、いくつかのコア メトリックが登録されます。 Spring Boot の自動構成により、Spring MVC によって処理される要求のインストルメンテーションが有効になります。 3 つの REST コントローラー (OwnerResource
、PetResource
、VisitResource
) はすべて、@Timed
マイクロメーター注釈によってクラス レベルでインストルメント化されます。
customers-service
アプリケーションでは、次のカスタム メトリックが有効になっています。
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
visits-service
アプリケーションでは、次のカスタム メトリックが有効になっています。
- @Timed:
petclinic.visit
これらのカスタム メトリックは、[メトリック] ページで確認できます。
Application Insights の可用性テスト機能を使用して、アプリケーションの可用性を監視できます。
[ライブ メトリック] ページに移動すると、低遅延 (1 秒未満) のライブ メトリックが表示されます。
トレース
Azure Spring Apps によって作成された Application Insights を開き、Spring アプリケーションの監視を開始します。
[アプリケーション マップ] ページに移動します。
[パフォーマンス] ページに移動します。
[依存関係] タブに移動すると、依存関係 (特に SQL 呼び出し) のパフォーマンスの数値が表示されます。
SQL 呼び出しを選択して、コンテキスト内のエンドツーエンド トランザクションを表示します。
[失敗] ページと [例外] タブに移動すると、例外のコレクションが表示されます。
例外を選択して、コンテキスト内のエンドツーエンドのトランザクションとスタックトレースを表示します。
リソースをクリーンアップする
後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、リソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
前のクイックスタートでは、既定のリソース グループ名も設定しました。 次のクイックスタートに進まない場合は、次の CLI コマンドを実行して、既定値をクリアします。
az config set defaults.group=
次の手順
Azure Spring Apps の監視機能の詳細については、以下を参照してください。