你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将应用程序实时视图迁移到 Spring Boot 控制台
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。 有关详细信息,请参阅将 Azure Spring Apps 标准消耗和专用计划迁移到 Azure 容器应用。
本文适用于: ❎ 基本计划/标准计划 ✅ 企业计划
本文介绍从应用程序实时视图到 Spring Boot 控制台的迁移路径。
Spring Boot 控制台是用于管理和监视 Spring Boot 应用程序的强大工具。 它基于 Spring Boot 执行器构建,可深入了解通过可访问的 HTTP 终结点运行应用程序的内部工作。 Spring Boot 控制台收集数据,并使用这些终结点促进与应用程序的交互。
设置 Spring Boot 控制台服务器
Azure Spring Apps 以前提供与 Tanzu 应用程序实时视图的内置集成,帮助你管理应用程序。 但是,由于产品功能的变化,此功能不再可用。 为了确保可以继续轻松管理应用程序,以下步骤将指导你配置和使用 Spring Boot 控制台服务器作为替代解决方案:
创新一个新的应用。
生成 Spring Boot 控制台服务器。
创建应用后,下一步是生成 Spring Boot 控制台服务应用。 按照 Spring Boot 控制台入门文档中的说明进行操作。
可以参考以下示例代码:
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 控制台依赖项:
<!-- 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 控制台服务后,使用 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 控制台服务器可访问。
Spring Boot 控制台默认不包括授权。 Spring Boot 控制台是一个正常的 Spring Boot 应用程序,因此可以使用 Spring Security 保护它。 另请参阅保护 Spring Boot 控制台服务器。
将应用注册到 Spring Boot 控制台
使用发现服务
Spring Boot 控制台可以依靠发现服务来发现应用程序。 向 Tanzu Service Registry 注册应用后,Spring Boot 控制台服务器会自动识别它们。
有关如何向 Tanzu Service Registry 注册应用的详细信息,请参阅使用 Tanzu Service Registry。
Spring Boot 控制台无缝连接到并监视具有自定义执行器设置的 Spring Boot 应用程序。
使用 Spring Boot 控制台客户端
还可以将应用注册为 Spring Boot 控制台客户端。 此方法不依赖于发现服务,但需要修改应用以包含 Spring Boot 控制台客户端依赖项。 有关详细信息,请参阅 Spring Boot 控制台文档中的入门。
使用 Spring Boot 控制台监视应用
Spring Boot 控制台允许查看 Spring Boot 应用程序的实时指标。 Spring Boot 控制台基于 Spring Boot 执行器的概念。
按照以下步骤在 Spring Boot 控制台中部署应用并对其进行监视:
添加执行器依赖项。 将以下依赖项添加到应用程序的 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 服务实例,然后选择“开发人员工具”。
- 选择“管理工具”。
- 取消选中“启用应用实时视图”复选框,然后选择“保存”。
- 然后,可以在“开发人员工具”上查看应用程序实时视图的状态。
已知限制
- 如果将应用注册到服务注册表,则 EUREKA-SERVER 应用程序会显示在 Spring Boot 控制台仪表板中,状态为 OFFLINE 状态,并且无法隐藏或删除该应用程序。
- 默认情况下,不支持单一登录 (SSO)。