Application Live View を Spring Boot Admin に移行する
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
この記事では、Application Live View から Spring Boot Admin への移行パスについて説明します。
Spring Boot Admin は、Spring Boot アプリケーションの管理と監視を行うための強力なツールです。 Spring Boot アクチュエータを基盤にして構築されており、実行中のアプリケーションの内部動作に関するインサイトを、アクセスしやすい HTTP エンドポイント経由で提供します。 Spring Boot Admin では、データ収集の実行や、お使いのアプリケーションとの便利なやり取りを実現する手段として、それらのエンドポイントを使用します。
Spring Boot Admin サーバーをセットアップする
以前、Azure Spring Apps には、アプリケーションの管理に役立つ Tanzu Application Live View 統合機能が組み込まれていました。 しかし、製品機能が変更されたため、この機能は現在は提供されていません。 以下で説明する手順は、今後も手軽にアプリケーション管理ができる環境を確保するための代替ソリューションとなる、Spring Boot Admin サーバーの構成方法と使用方法です。
新しいアプリを作成する。
Spring Boot Admin サーバー アプリを作成するには、以下の手順に従います。
- Azure portal で、Azure Spring Apps エンタープライズのインスタンスに移動します。
- ナビゲーション ウィンドウから [アプリ] ペインを開いて、お使いのサービス インスタンス用のアプリを表示します。
- [アプリの作成] を選択して、[アプリの作成] ペインを開きます。
- アプリケーションに「spring-boot-admin」という名前を付けます。
- [デプロイの種類] は、変更せず [成果物 (Java/Polyglot)] のままにします。
- [バインド] ドロップダウンを開き、[サービス レジストリ] を選択します。
- [作成] を選択して、アプリを作成します。
Spring Boot Admin サービスを構築します。
アプリを作成した後は、Spring Boot Admin サービス アプリを構築する手順を実行します。 Spring Boot Admin の使用開始ドキュメントに記載されている指示に従ってください。
コードのサンプルを以下に示します。
SpringBootAdminApplication.java
@SpringBootApplication @Configuration @EnableAutoConfiguration // Use a discovery service instead of Spring Boot Admin Clinet. The rest is done by our AutoConfiguration. @EnableDiscoveryClient // Enables the service to register with a discovery service @EnableAdminServer public class SpringBootAdminApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAdminApplication.class, args); } }
pom.xml
以下の Spring Boot Admin 依存関係を追加します。
<!-- Spring Boot Admin --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${spring-boot-admin.version}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>${spring-boot-admin.version}</version> </dependency>
アプリを展開します。
Spring Boot Admin サービスを構築した後は、Azure CLI を使用してデプロイします。
cd <path-to-maven-or-gradle-source-root> az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --name spring-boot-admin \ --source-path
パブリック エンドポイントを割り当てます。
Azure Spring Apps を介してパブリック エンドポイントを割り当て、Spring Boot Admin サーバーをアクセス可能にします。
Spring Boot Admin には、既定では承認が含まれていません。 Spring Boot Admin は通常の Spring Boot アプリケーションであるため、Spring Security によってセキュリティ保護できます。 Spring Boot Admin サーバーの保護に関する記事も参照してください。
Spring Boot Admin にアプリを登録する
探索サービスを使用する
Spring Boot Admin には、探索サービスを使用してアプリケーションを見つける機能があります。 Tanzu Service Registry に登録されたアプリは、Spring Boot Admin サーバーによって自動的に認識されます。
Tanzu Service Registry にアプリを登録する方法の詳細については、Tanzu Service Registry の使用に関する記事を参照してください。
Spring Boot Admin は、カスタム アクチュエータの設定がある Spring Boot アプリケーションにシームレスに接続して監視を行います。
Spring Boot Admin クライアントを使用する
また、アプリは Spring Boot Admin クライアントとして登録することもできます。 この方法は探索サービスを必要としませんが、アプリに変更を加えて Spring Boot Admin クライアントの依存関係を含める必要があります。 詳細については、Spring Boot Admin のドキュメントに含まれる使用開始の記事を参照してください。
Spring Boot Admin を使用してアプリを監視する
Spring Boot Admin を使用すると、Spring Boot アプリケーションのライブ メトリックを見ることができます。 Spring Boot Admin は、Spring Boot アクチュエーターの概念に基づいています。
アプリをデプロイして Spring Boot Admin で監視するには、以下の手順に従います。
アクチュエータの依存関係を追加します。 アプリケーションの pom.xml ファイルに、次の依存関係を追加します。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
アクチュエータ エンドポイントを有効にします。 アプリケーションの application.properties ファイルに、必要なエンドポイントを公開するために以下の構成を追加します。
management.endpoints.web.exposure.include=info,health
アプリケーションをビルドします。 以下のコマンドを実行して、アプリをローカルでビルドします。
mvn clean package -DskipTests
アプリケーションをデプロイします。 以下のコマンドを実行して、アプリを Azure Spring Apps にデプロイします。
az spring app create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --name <app-name> cd <path-to-maven-or-gradle-source-root> az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-service-instance-name> \ --name <app-name> \ --source-path
アプリケーション ライブ ビューを無効にする
すべての Spring Boot アプリケーションを Spring Boot 管理に登録し終えた後は、Azure Spring Apps のアプリケーション ライブ ビュー機能を以下の手順で無効にすることができます。
- Azure Spring Apps サービス インスタンスに移動して、[開発者ツール] を選択します。
- [ツールの管理] を選択します。
- [アプリのライブ ビューを有効にする] チェック ボックスをオフにし、[保存] を選択します。
- その後、開発者ツールで Application Live View の状態を表示できます。
既知の制限事項
- アプリを Service Registry に登録した場合は、Spring Boot Admin ダッシュボード上に EUREKA-SERVER アプリケーションが OFFLINE ステータスで表示されます。これを非表示にすることや削除することはできません。
- 既定では、シングル サインオン (SSO) はサポートされていません。