当我们在使用 Spring Boot 构建 web 应用时,使用 Actuator 来监控应用程序状态和执行度量非常有用。但 Actuator 提供的 JSON API 数据对于非技术人员来说很难直接理解。此时,Spring Boot Admin 就是一个非常好的选择,它提供了一个图形化的用户界面,用于监控 Spring Boot 应用程序。
本文将介绍如何使用 Spring Boot Admin 监控 Spring Boot 应用程序。我们自己来配置 Spring Boot Admin 服务器并监控一个简单的 RESTful API 应用程序。
准备工作
- 安装JDK 1.8或以上版本。
- 使用Maven构建Spring Boot项目。
添加 Spring Boot Admin 依赖
我们首先需要添加 Spring Boot Admin 依赖到我们的项目中。可以在 Maven 中加入以下依赖:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.6</version>
</dependency>
配置 Spring Boot Admin 服务器
接下来,我们要在项目中配置 Spring Boot Admin 服务器。如下所示,在主应用程序类上使用@EnableAdminServer
注解来启用 Spring Boot Admin 服务器。
@SpringBootApplication
@EnableAdminServer
public class BootAdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(BootAdminServerApplication.class, args);
}
}
然后在application.yml
文件中添加以下配置:
server:
port: 8090
spring:
boot:
admin:
server:
url: http://localhost:${server.port}
添加完配置后,我们就可以运行 Spring Boot Admin 服务器了,访问地址为http://localhost:8090
。
配置被监控的 Spring Boot 应用程序
在被监视的应用程序中,需要在pom.xml
文件中添加 Spring Boot Actuator 的依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
接下来,我们需要在应用程序的application.yml
文件中添加以下配置。
management:
endpoints:
web:
exposure:
include: "*"
这个配置允许 Spring Boot Actuator 暴露所有端点。然后,我们需要再次启动应用程序。
配置被监视应用程序的注册
现在我们要将被监视的应用程序注册到 Spring Boot Admin 服务器上,我们可以在被监视应用程序的application.yml
文件中添加以下配置。
spring:
boot:
admin:
client:
url: http://localhost:8090
测试
现在,我们可以在浏览器中输入 Spring Boot Admin 服务器的地址http://localhost:8090
来访问 Spring Boot Admin 界面。并检查被监视应用程序的运行状况。如果我们单击左侧的第一个应用程序名称,则可以看到一些有关此应用程序的信息(例如,应用程序的名称,应用程序的总体状况等信息)。
通过查看详细信息
标签,我们可以查看健康指标、机器信息、环境信息等详细信息。我们还可以调用 Actuator 端点标签,这样我们就可以直接调用 Actuator 端点信息了。
示例1: 监控 Spring Boot Admin 服务器自己
让我们使用 Spring Boot Admin 监控它自己的应用程序。我们可以在上面配置 Spring Boot Admin 服务器的application.yml
文件中,添加以下配置。
spring:
boot:
admin:
client:
url: http://localhost:8090 # <- 注意只有自己的修改这个,别的位置的不用改
此时,我们就可以在 Spring Boot Admin 服务器的控制台上看到自己的应用程序注册信息。点击应用详情按钮,可以看到一些关于该 Spring Boot Admin 服务器的信息,提供了各种监控指标和 Actuator 端点。
示例2: 监控一个简单的 RESTful API 应用程序
让我们使用一个简单的RESTful API应用程序来演示如何使用 Spring Boot Admin 监控应用程序。我们需要创建一个新的 Spring Boot 项目,名称为demo
。
接下来,在pom.xml
文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.6</version>
</dependency>
然后,我们需要在应用程序的application.yml
文件中添加以下配置。
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
这个配置允许 Spring Boot Actuator 暴露所有端点,并且显示所有的详细信息。
最后,我们需要在application.yml
文件中添加以下配置。
spring:
application:
name: demo-app
boot:
admin:
client:
url: http://localhost:8090
提示:请将spring.boot.admin.client.url
修改为您的 Spring Boot Admin 服务器的 URL。
现在,我们就可以启动应用程序来查看运行情况了。可以尝试访问/showInfo接口:http://localhost:8080/showInfo,来获取应用程序提供的信息。应用程序会自动通过 Spring Boot Admin 向服务器注册,并在服务器控制台上显示。
在 Spring Boot Admin 界面上,可以查看应用程序的详情、健康条目、日志记录和 Actuator 接口等信息。
总结
在本文中,我们学习了如何使用 Spring Boot Admin 监控 Spring Boot 应用程序。首先配置了 Spring Boot Admin 服务器,然后分别配置被监控应用程序的 actuator 和 registry。然后通过两个示例,展示了具体的应用场景和使用方法。如果我们需要使用 Spring Boot 自动配置和 Actuator 的监控功能,那么 Spring Boot Admin 应该是一个很好的选择。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot Admin的使用详解(Actuator监控接口) - Python技术站