Logo

Spring Boot Admin指南

作者

Spring Boot Admin是一个用于管理和监控Spring Boot应用程序的Web应用。它将每个应用视为客户端并注册到管理服务器。底层利用了Spring Boot Actuator端点的功能。

本文将介绍如何配置Spring Boot Admin服务器,以及如何将应用程序设置为客户端。

2. 设置管理服务器

首先,创建一个简单的Spring Boot Web应用,并添加以下Maven依赖:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.4.1</version>
</dependency>

然后在主类上添加@EnableAdminServer注解:

@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }
}

这样我们就可以启动服务器并注册客户端应用了。

3. 设置客户端

要将Spring Boot应用注册为客户端,需要添加以下依赖:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>2.4.1</version>
</dependency>

然后配置管理服务器的URL:

spring.boot.admin.client.url=http://localhost:8080

从Spring Boot 2开始,默认只暴露health和info端点。我们可以配置暴露所有端点:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always

4. 安全配置

由于管理服务器可以访问应用的敏感端点,建议为服务器和客户端添加安全配置。

对于服务器,添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

然后添加一个WebSecurityConfig类进行安全配置。

对于客户端,需要在配置文件中添加凭证:

spring.boot.admin.client.username=admin
spring.boot.admin.client.password=admin

spring.security.user.name=client
spring.security.user.password=client
spring.boot.admin.client.instance.metadata.user.name=${spring.security.user.name}
spring.boot.admin.client.instance.metadata.user.password=${spring.security.user.password}

5. 监控和管理功能

Spring Boot Admin可以配置只显示需要的信息:

spring.boot.admin.routes.endpoints=env,metrics,trace,jolokia,info,configprops

它还支持使用Hazelcast进行集群复制,只需添加hazelcast依赖即可。

6. 通知

Spring Boot Admin支持多种通知方式,如邮件、Hipchat等。以邮件通知为例,添加mail starter依赖并配置:

spring.mail.host=smtp.example.com
spring.mail.username=smtp_user
spring.mail.password=smtp_password
spring.boot.admin.notify.mail.to=admin@example.com

我们还可以配置自定义通知系统,如过滤通知器等。

7. 总结

本文介绍了使用Spring Boot Admin监控和管理Spring Boot应用的基本步骤。通过简单的配置,我们就可以搭建一个功能完善的管理服务器。

示例代码可以在Github上找到。

分享内容