クイックスタート: ログ、メトリック、トレースを使用した Azure Spring Apps アプリの監視

Note

BasicStandard、および 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 でログをストリーミングするには、次の手順に従います。

  1. Azure Spring Apps サービス インスタンスの [概要] ページに移動し、ナビゲーション ペインの [アプリ] を選択します。

  2. ターゲット アプリを見つけ、コンテキスト メニューを選択します。

  3. ポップアップ コンテキスト メニューで、[ログ ストリームの表示] を選択します。

    [ログ ストリームの表示] コンテキスト メニュー項目が強調表示されている [アプリ] ページを示す Azure portal のスクリーンショット。

既定では、ランダムに選択されたアプリ インスタンスについてログのストリーミングが開始されます。 その後で、目的とする操作を実行できます。

[ログ ストリーム] ページを示す Azure portal のスクリーンショット。

便宜上、ログをストリーミングするためのエントリ ポイントは多数あります。 それらは、次のペインにあります。

  • [アプリ リスト] ペイン
  • [デプロイ リスト] ペイン
  • [アプリ インスタンス リスト] ペイン

Log Analytics

  1. Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Logs](ログ) を選択します。 Azure Spring Apps のいずれかのサンプル クエリで [Run](実行) を選択します。

    [クエリ] ページが開き、[実行] が強調表示されている [ログ] ペインを示す Azure portal のスクリーンショット。

  2. クエリを編集し、表示を警告とエラーのログに制限する Where 句を削除します。

  3. [実行] を選択します。 ログが表示されています。 詳細については、「Azure Monitor でログ クエリの使用を開始する」を参照してください。

    Logs Analytics クエリの結果を示す Azure portal のスクリーンショット。

  4. Log Analytics で使用されるクエリ言語の詳細については、「Azure Monitor ログ クエリ」を参照してください。 一元化されたクライアントからすべての Log Analytics ログを照会する場合は、Azure Data Explorer に関するページを参照してください。

メトリック

  1. Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Metrics](メトリック) を選択します。 最初のメトリックを追加するには、[メトリック] ドロップダウンで [パフォーマンス (.NET)] または [要求 (.NET)] の下の .NET メトリックのどれかを選択します。また、そのメトリックのタイムラインを表示するには、[集計][Avg] を選択します。

    使用可能なフィルターを含む [メトリック] ページを示す Azure portal のスクリーンショット。

  2. ツール バーで [Add filter]\(フィルターの追加\) を選択し、App=solar-system-weather を選択して、solar-system-weather アプリのみの CPU 使用率を表示します。

    フィルターの [プロパティ]、[演算子]、[値] のオプションが強調表示された [メトリック] ページを示す Azure portal のスクリーンショット。

  3. 前の手順で作成したフィルターを破棄し、[分割の適用] を選択します。[値][アプリ] を選択して、さまざまなアプリごとの CPU 使用率を表示します。

    分割の [プロパティ]、[演算子]、[値] のオプションが強調表示された [メトリック] ページを示す Azure portal のスクリーンショット。

分散トレース

  1. Azure portal で [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Distributed tracing](分散トレース) を選択します。 次に、右側の [View application map](アプリケーション マップの表示) タブを選択します。

    [分散トレース] ページを示す Azure portal のスクリーンショット。

  2. これで、アプリ間の呼び出しの状態を確認できるようになりました。

    [アプリケーション マップ] ページを示す Azure portal のスクリーンショット。

  3. solar-system-weatherplanet-weather-provider の間のリンクを選択すると、HTTP メソッドごとの最低速の呼び出しなどの詳細が表示されます。

    アプリケーション マップの詳細を示す Azure portal のスクリーンショット。

  4. 最後に、 [パフォーマンスの調査] を選択して、より強力な組み込みのパフォーマンス分析を調べます。

    [パフォーマンス] ページを示す Azure portal のスクリーンショット。

Azure Spring Apps の組み込み監視機能を使用すると、複雑な問題をデバッグおよび監視できます。 Azure Spring Apps は、Spring Cloud Sleuth と Azure の Application Insights を統合します。 この統合により、Azure portal から強力なログ、メトリック、および分散トレース機能を利用できます。 次の手順では、デプロイされた PetClinic アプリでログ ストリーミング、ログ分析、メトリック、および分散トレースを使用する方法について説明します。

前提条件

ログ

Azure Spring Apps でログを表示するには、次の 2 つの方法があります。アプリ インスタンスごとのリアルタイム ログのログ ストリーミング、または高度なクエリ機能を使用して集計されたログのログ分析

ログ ストリーミング

Azure portal でログをストリーミングするには、次の手順に従います。

  1. Azure Spring Apps サービス インスタンスの [概要] ページに移動し、ナビゲーション ペインの [アプリ] を選択します。

  2. ターゲット アプリを見つけ、コンテキスト メニューを選択します。

  3. ポップアップ コンテキスト メニューで、[ログ ストリームの表示] を選択します。

    [ログ ストリームの表示] コンテキスト メニュー項目が強調表示されている [アプリ] ページを示す Azure portal のスクリーンショット。

既定では、ランダムに選択されたアプリ インスタンスについてログのストリーミングが開始されます。 その後で、目的とする操作を実行できます。

[ログ ストリーム] ページを示す Azure portal のスクリーンショット。

便宜上、ログをストリーミングするためのエントリ ポイントは多数あります。 それらは、次のペインにあります。

  • [アプリ リスト] ペイン
  • [デプロイ リスト] ペイン
  • [アプリ インスタンス リスト] ペイン

Log Analytics

  1. [service | Overview](サービス | 概要) ページに移動し、 [Monitoring](監視) セクションの [Logs](ログ) を選択します。 Azure Spring Apps のいずれかのサンプル クエリで [Run](実行) を選択します。

    [実行] が強調表示された [クエリ] ページを示す Azure portal のスクリーンショット。

  2. そして、フィルター処理されたログが表示されます。 詳細については、「Azure Monitor でログ クエリの使用を開始する」を参照してください。

    フィルター処理されたログのクエリ結果を示す Azure portal のスクリーンショット。

メトリック

[Application Insights] ページに移動し、次に [メトリック] ページに移動します。 Spring Boot アプリ、Spring モジュール、依存関係によって提供されるメトリックを確認できます。

次のグラフは、gateway_requests (Spring Cloud Gateway)、hikaricp_connections (JDBC 接続)、http_client_requests を示しています。

選択した値のグラフを含む Application Insights の [メトリック] ページを示す Azure portal のスクリーンショット。

Spring Boot では、JVM、CPU、Tomcat、Logback など、いくつかのコア メトリックが登録されます。 Spring Boot の自動構成により、Spring MVC によって処理される要求のインストルメンテーションが有効になります。 3 つの REST コントローラー (OwnerResourcePetResourceVisitResource) はすべて、@Timed マイクロメーター注釈によってクラス レベルでインストルメント化されます。

customers-service アプリケーションでは、次のカスタム メトリックが有効になっています。

  • @Timed: petclinic.owner
  • @Timed: petclinic.pet

visits-service アプリケーションでは、次のカスタム メトリックが有効になっています。

  • @Timed: petclinic.visit

これらのカスタム メトリックは、[メトリック] ページで確認できます。

カスタム メトリックを含む Application Insights の [メトリック] ページを示す Azure portal のスクリーンショット。

Application Insights の可用性テスト機能を使用して、アプリケーションの可用性を監視できます。

[可用性テスト] セクションが強調表示された Application Insights の [可用性] ページを示す Azure portal のスクリーンショット。

[ライブ メトリック] ページに移動すると、低遅延 (1 秒未満) のライブ メトリックが表示されます。

Application Insights の [ライブ メトリック] ページの低遅延グラフを示す Azure portal のスクリーンショット。

トレース

Azure Spring Apps によって作成された Application Insights を開き、Spring アプリケーションの監視を開始します。

[アプリケーション マップ] ページに移動します。

マップ コンポーネントを含む Application Insights の [アプリケーション マップ] ページを示す Azure portal のスクリーンショット。

[パフォーマンス] ページに移動します。

Application Insights の [パフォーマンス] ページと操作の詳細を示す Azure portal のスクリーンショット。

[依存関係] タブに移動すると、依存関係 (特に SQL 呼び出し) のパフォーマンスの数値が表示されます。

[依存関係] テーブルが強調表示された Application Insights の [パフォーマンス] ページを示す Azure portal のスクリーンショット。

SQL 呼び出しを選択して、コンテキスト内のエンドツーエンド トランザクションを表示します。

[エンドツーエンド トランザクションの詳細] ページを示す Azure portal のスクリーンショット。

[失敗] ページと [例外] タブに移動すると、例外のコレクションが表示されます。

Application Insights の [失敗] ページを示す Azure portal のスクリーンショット。

例外を選択して、コンテキスト内のエンドツーエンドのトランザクションとスタックトレースを表示します。

例外の詳細と呼び出し履歴を含む [エンドツーエンドのトランザクションの詳細] ページを示す Azure portal のスクリーンショット。

リソースをクリーンアップする

後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、リソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 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 の監視機能の詳細については、以下を参照してください。