診断設定を使用して Elastic (ELK) でログを分析する

注記

BasicStandard、および Enterprise プランは、2025 年 3 月 17 日に廃止期間に入りました。 詳細については、Azure Spring Apps の提供終了のお知らせを参照してください。

この記事の適用対象:✅ Java ✅ C#

この記事の適用対象:✅ Basic または Standard ✅ Enterprise

この記事では、Azure Spring Apps の診断機能を使用して Elastic (ELK) を使用してログを分析する方法について説明します。

次のビデオでは、Elastic を使用した Spring Boot アプリケーションの統一監視が紹介されています。


診断設定の構成

診断設定を構成するには、次の手順のようにします。

  1. Azure portalで、Azure Spring Apps インスタンスに移動します。
  2. [診断設定] オプションを選んでから、[診断設定の追加] を選びます。
  3. 設定の名前を入力し、[Send to partner solution]\(パートナー ソリューションに送信\) を選んだ後、[Elastic] とログを送信する Elastic のデプロイを選びます。
  4. [保存] を選択します。

Azure ポータルの診断設定ページのスクリーンショットで、選択されたオプションと設定に指定された名前を示しています。

注記

ログが出力されてから Elastic のデプロイに表示されるまでに、最大 15 分のギャップが生じる可能性があります。 Azure Spring Apps インスタンスが削除または移動された場合、操作は診断設定リソースに連鎖しません。 親である Azure Spring Apps インスタンスに対して操作を実行する前に、診断設定リソースを手動で削除する必要があります。 それ以外の場合、削除されたものと同じリソース ID を持つ新しい Azure Spring Apps インスタンスをプロビジョニングした場合、または Azure Spring Apps インスタンスを戻した場合、以前の診断設定リソースは引き続きそのインスタンスを拡張します。

Elastic を使用してログを分析する

Elastic on Azure のデプロイの詳細については、「 Elastic on Microsoft Azureを参照してください。

ログを分析するには、次の手順のようにします。

  1. Azure portalの [Elastic deployment overview]\(エラスティック デプロイの概要\) ページで、Kibana を開きます。

    デプロイ URL Kibana リンクが強調表示されている Elasticsearch (Elastic Cloud) ページを示すAzure portalのスクリーンショット。

  2. Kibana の上部にある [Search]\(検索\) バーに、「Spring Cloud type:dashboard」と入力します。

    Spring Cloud type:dashboard の検索結果を示す Elastic/Kibana のスクリーンショット。

  3. 結果から [ログ Azure] Azure Spring Apps ログの概要を選択します。

    Azure Spring Apps アプリケーション コンソール ログを示す Elastic/Kibana のスクリーンショット。

  4. 次のようなクエリを使用して、すぐに使えるAzure Spring Apps のダッシュボードを検索します。

    azure.springcloudlogs.properties.app_name : "visits-service"
    

Discover で Kibana Query Language を使用してログを分析する

アプリケーション ログには、アプリケーションの正常性やパフォーマンスなどに関する重要な情報と詳細ログが記載されています。 ログを分析するには、次の手順のようにします。

  1. Kibana の上部にある [Search]\(検索\) バーに「Discover」と入力し、結果を選択します。

    検出の検索結果を示す Elastic/Kibana のスクリーンショット。

  2. Discover アプリで、まだ選んでいない場合は logs- インデックス パターンを選びます。

    検出アプリのログ ページを示す Elastic/Kibana のスクリーンショット。

  3. 次のセクションのようなクエリを使うと、アプリケーションの現在と過去の状態を把握するのに役立ちます。

さまざまなクエリについて詳しくは、Kibana Query Language のガイドに関するページをご覧ください。

Azure Spring Apps からのすべてのログを表示する

Azure Spring Apps からのアプリケーション ログの一覧を、最初に表示された最新のログで時間順に並べ替えるには、Search ボックスで次のクエリを実行します。

azure_log_forwarder.resource_type : "Microsoft.AppPlatform/Spring"

すべてのログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

Azure Spring Apps からの特定のログの種類を表示する

Azure Spring Apps からのアプリケーション ログの一覧を、最初に表示された最新のログで時間順に並べ替えるには、Search ボックスで次のクエリを実行します。

azure.springcloudlogs.category : "ApplicationConsole"

特定のログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

エラーまたは例外を含むログ エントリを表示する

エラーまたは例外を示す並べ替えられていないログ エントリを確認するには、次のクエリを実行します。

azure_log_forwarder.resource_type : "Microsoft.AppPlatform/Spring" and (log.level : "ERROR" or log.level : "EXCEPTION")

エラー ログと例外ログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

Kibana Query Language は、ログから分析情報を取得するのに役立つオートコンプリートと提案が提供されるので、クエリを作成するのに役立ちます。 クエリを使用してエラーを検出するか、クエリ用語を変更して特定のエラー コードまたは例外を検索します。

特定のサービスからのログ エントリを表示する

特定のサービスによって生成されたログ エントリを確認するには、次のクエリを実行します。

azure.springcloudlogs.properties.service_name : "sa-petclinic-service"

特定のサービス ログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

警告またはエラーを含む Config Server のログを表示する

Config Server からのログを確認するには、次のクエリを実行します。

azure.springcloudlogs.properties.type : "ConfigServer" and (log.level : "ERROR" or log.level : "WARN")

Config Server ログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

サービス レジストリのログを表示する

サービス レジストリからのログを確認するには、次のクエリを実行します。

azure.springcloudlogs.properties.type : "ServiceRegistry"

サービス レジストリのログが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

Elastic を使用した Azure Spring Apps からのログの視覚化

Kibana を使用すると、ダッシュボードおよび視覚化の充実したエコシステムで、データを視覚化できます。 詳細については、「ダッシュボードと視覚化」を参照してください。

サービスの全体的な正常性を評価できるように、ログのさまざまなログ レベルを表示しするには、次の手順のようにします。

  1. Discover の左側にある利用可能なフィールドの一覧から、logs- インデックス パターンの下にある検索ボックスで「log.level」を検索します。

  2. log.level フィールドを選びます。 log.level に関するフローティング情報パネルから、[Visualize]\(視覚化\) を選びます。

    ログ レベルが表示された検出アプリを示す Elastic/Kibana のスクリーンショット。

  3. ここでは、左側のペインからさらにデータを追加したり、データを視覚化する方法に関する複数の提案から選択したりすることができます。

    Elastic/Kibana の Discover アプリが視覚化オプションと共に表示されているスクリーンショット。

次のステップ