前言
Spring Boot Admin是一个Web应用,用于管理和监视Spring Boot应用程序的运行状态。每个Spring Boot应用程序都被视为客户端并注册到管理服务器。背后的数据采集是由Spring Boot Actuator端点提供。
集成
注意一定要版本对应,否则会出现意想不到的问题,建议使用Srping Boot Admin 2.0+以上版本,可以多语言切换。
父项目
pom.xml引入:
<modules> <module>admin-server</module> <module>admin-client</module></modules><parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.2.RELEASE</version> <relativePath/></parent><dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency></dependencies>
监控服务端
pom.xml引入:
<artifactId>admin-server</artifactId><dependencies> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.2.1</version> </dependency> <!--登录认证--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <!--掉线发送邮件通知--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency></dependencies>
application.properties配置文件:
https://blog.52itstyle.vipserver.port=9000spring.application.name=SpringBootAdminspring.security.user.name=adminspring.security.user.password=adminspring.boot.admin.monitor.status-interval = 10000spring.boot.admin.monitor.info-interval = 10000spring.mail.host = smtp.163.comspring.mail.username = 13188888888@163.comspring.mail.password = 2020spring.boot.admin.notify.mail.from = 13188888888@163.comspring.boot.admin.notify.mail.to = 88888888@qq.com
启动类:
/** * 系统监控 * 爪哇笔记:https://blog.52itstyle.vip */@Configuration@EnableAutoConfiguration@EnableAdminServerpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Configuration public static class SecuritySecureConfig extends WebSecurityConfigurerAdapter { private final AdminServerProperties adminServer; public SecuritySecureConfig(AdminServerProperties adminServer) { this.adminServer = adminServer; } @Override protected void configure(HttpSecurity http) throws Exception { SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler(); successHandler.setTargetUrlParameter("redirectTo"); successHandler.setDefaultTargetUrl(this.adminServer.path("/")); http.authorizeRequests() .antMatchers(this.adminServer.path("/assets/**")).permitAll() .antMatchers(this.adminServer.path("/login")).permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage(this.adminServer.path("/login")).successHandler(successHandler).and() .logout().logoutUrl(this.adminServer.path("/logout")).and() .httpBasic().and() .csrf() .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) .ignoringRequestMatchers( new AntPathRequestMatcher(this.adminServer.path("/instances"), HttpMethod.POST.toString()), new AntPathRequestMatcher(this.adminServer.path("/instances/*"), HttpMethod.DELETE.toString()), new AntPathRequestMatcher(this.adminServer.path("/actuator/**")) ) .and() .rememberMe().key(UUID.randomUUID().toString()).tokenValiditySeconds(1209600); } }}
监控客户端
pom.xml引入:
<artifactId>admin-client</artifactId><dependencies> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.2.1</version> </dependency></dependencies>
application.properties配置文件:
https://blog.52itstyle.vipspring.boot.admin.client.instance.name = 007spring.boot.admin.client.url= http://localhost:9000management.endpoints.web.exposure.include=*spring.boot.admin.client.username = adminspring.boot.admin.client.password = adminspring.boot.admin.client.period = 10000spring.boot.admin.client.connect-timeout = 5000spring.boot.admin.client.read-timeout = 5000spring.boot.admin.client.instance.service-url = http://localhost:8080
监控界面
不得不说,2.X 版本还是很美观大气上档次的,并且监控告警功能齐全,
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。