作用
监控spring boot应用的可视化组件。已经内置了漂亮的ui界面。
集成
admin分为两个组件:service和client;版本选择需要与spring boot版本对应,我选择的版本是2.3.0
admin-service 服务
1、创建一个项目作为监控服务端:service-monitor,maven依赖如下
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- spring boot admin:包含了ui依赖和server依赖 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
</dependencies>
既然是监控服务,那么就需要保障安全,不能“裸奔”让所有人都能访问,所以需要引入security安全框架保障安全。
2、使用@EnableAdminServer注解激活服务
@SpringBootApplication
// 启动admin
@EnableAdminServer
public class ServiceMonitorApplication {
public static void main(String[] args) {
SpringApplication.run(ServiceMonitorApplication.class, args);
}
}
3、security安全配置
官方文档有详细的讲解和代码(我的这个配置就是照搬的)
@Configuration(proxyBeanMethods = false)
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private AdminServerProperties adminServer;
@Override
protected void configure(HttpSecurity http) throws Exception {
// 配置认证成功的处理类,绑定 adminServer 的目标地址
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthe