Java|Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解
目录
- 1、初识SpringBootAdmin
- 2、搭建服务端--POM文件中添加相关依赖
- 3、修改服务端application启动类
- 4、配置security安全信息
- 5、启动server服务端
- 6、搭建client客户端
- 总结
1、初识SpringBootAdmin 首先我们需要了解到Spring Boot Admin应用程序是能够提供以下功能供我们使用:
- 显示健康状况
- 显示详细信息
- JVM和内存指标
- micrometer.io指标
- 数据源指标
- 缓存指标
- 显示内部编号
- 关注并下载日志文件
- 查看JVM系统和环境属性
- 查看Spring Boot配置属性
- 支持Spring Cloud的可发布/ env-&/ refresh-endpoint
- 轻松的日志级别管理
- 与JMX-beans交互
- 查看线程转储
- 查看http-traces
- 查看审核事件
- 查看http端点
- 查看预定的任务
- 查看和删除活动会话(使用spring-session)
- 查看Flyway / Liquibase数据库迁移
- 下载heapdump
- 状态更改通知(通过电子邮件,Slack,Hipchat等)
- 状态更改的事件日志(非持久性)
2、搭建服务端--POM文件中添加相关依赖
org.springframework.boot spring-boot-starter-securityorg.springframework.boot spring-boot-starter-webde.codecentric spring-boot-admin-starter-server2.5.1
3、修改服务端application启动类 在咱们启动类上面新增@EnableAdminServer注解,进行启用SpringBootAdminServer服务端
@SpringBootApplication@EnableAdminServerpublic class BootAdminServerApplication {public static void main(String[] args) {SpringApplication.run(BootAdminServerApplication.class, args); }}
4、配置security安全信息 在application.properties文件中新增以下配置信息。
# 应用程序端口server.port=8085# 配置一个账号和密码spring.security.user.name=adminspring.security.user.password=admin
初始化SecuritySecureConfig配置(如未初始化是看不到带SpringBootAdmin Logo登录页面的)
@Configurationpublic static class SecuritySecureConfig extends WebSecurityConfigurerAdapter {private final String adminContextPath; public SecuritySecureConfig(AdminServerProperties adminServerProperties) {this.adminContextPath = adminServerProperties.getContextPath(); }@Overrideprotected void configure(HttpSecurity http) throws Exception {SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler(); successHandler.setTargetUrlParameter("redirectTo"); http.authorizeRequests().antMatchers(adminContextPath + "/assets/**").permitAll().antMatchers(adminContextPath + "/login").permitAll().anyRequest().authenticated().and().formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and().logout().logoutUrl(adminContextPath + "/logout").and().httpBasic().and().csrf().disable(); }}
5、启动server服务端 服务启动后,在浏览器中输入以下地址。我们是可以看见对应登录页面,对应账号密码就是咱们在properties文件中配置的。
http://127.0.0.1:8085/login
文章图片
登录后可以看到应用列表数量是空的,此时咱们需要开始搭建咱们的Client客户端了。
文章图片
【Java|Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解】
6、搭建client客户端 在pom文件中新增以下依赖信息。(注意版本要与server端保持一致)
de.codecentric spring-boot-admin-starter-client2.5.1
修改properties文件
spring.boot.admin.client.url=http://127.0.0.1:8085spring.boot.admin.client.username=adminspring.boot.admin.client.password=adminspring.application.name=spring-boot-applicationmanagement.endpoints.web.exposure.include=*
spring.boot.admin.client.url 指向我们上面服务端的项目接口路径。management.endpoints.web.exposure.include 表示将所有端口都暴露出来,可以被监控到。spring.application.name 表示改项目在spring-boot-admin 上的的显示名称。
spring.boot.admin.client.username 和password 就是设置的用户名和密码了,这里需要注意的是,如果admin-server 中没有集成 security 的话,不用配置用户名和密码也可以注册进去,在服务端可以监控到,但如果admin-server 集成了security,就需要保证client 中配置的用户名和server 中配置的用户名密码保持一致。
文章图片
文章图片
文章图片
文章图片
把client客户端启动后,会自动注册到咱们server服务端,咱们可以通过server服务端应用墙找到对应服务查看详细指标信息。(题外话:期间博主是有遇到客户端启动后,服务端无法采集到对应指标信息。原因是由于client客户端有配置security,没有给对应探针接口放行。如大家客户端有用到security的话,需要在security配置中放行以下两个接口信息。)
文章图片
文章图片
// 对应匿名+已授权均可访问.antMatchers("/actuator/**","/instances").permitAll()
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Activiti(一)SpringBoot2集成Activiti6
- 事件代理
- SpringBoot调用公共模块的自定义注解失效的解决
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组