纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

Java SpringBootAdmin管控台监控服务 Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解

小邓学长   2021-09-10 我要评论
想了解Java SpringBoot快速集成SpringBootAdmin管控台监控服务详解的相关内容吗,小邓学长在本文为您仔细讲解Java SpringBootAdmin管控台监控服务的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Java,SpringBoot,SpringBootAdmin,管控台,下面大家一起来学习吧。

SpringBootAdmin是一个针对 Spring Boot 的 Actuator 接口进行 UI 美化封装的监控工具,它可以在列表中浏览所有被监控 spring-boot 项目的基本信息、详细的 Health 信息、内存信息、JVM 信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等。可分为服务端(spring-boot-admin-server)和客户端(spring-boot-admin-client),服务端和客户端之间采用http通讯方式实现数据交互。服务端server需要单独启动一个服务,而客户端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文件中添加相关依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</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-server</artifactId>
            <version>2.5.1</version>
        </dependency>

3、修改服务端application启动类

在咱们启动类上面新增@EnableAdminServer注解,进行启用SpringBootAdminServer服务端

@SpringBootApplication
@EnableAdminServer
public class BootAdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(BootAdminServerApplication.class, args);
    }
}

4、配置security安全信息

在application.properties文件中新增以下配置信息。

# 应用程序端口
server.port=8085
# 配置一个账号和密码
spring.security.user.name=admin
spring.security.user.password=admin

初始化SecuritySecureConfig配置(如未初始化是看不到带SpringBootAdmin Logo登录页面的)

@Configuration
    public static class SecuritySecureConfig extends WebSecurityConfigurerAdapter {
        private final String adminContextPath;

        public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
            this.adminContextPath = adminServerProperties.getContextPath();
        }

        @Override
        protected 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客户端了。

6、搭建client客户端

在pom文件中新增以下依赖信息。(注意版本要与server端保持一致)

<!-- SpringBootAdmin管控台 -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.5.1</version>
        </dependency>

修改properties文件

spring.boot.admin.client.url=http://127.0.0.1:8085
spring.boot.admin.client.username=admin
spring.boot.admin.client.password=admin
spring.application.name=spring-boot-application
management.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()

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!


相关文章

猜您喜欢

  • Spring数据库连接池url参数 Spring数据库连接池url参数踩坑及解决

    想了解Spring数据库连接池url参数踩坑及解决的相关内容吗,小小一只白在本文为您仔细讲解Spring数据库连接池url参数的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Spring,url参数,数据库连接池,url参数,下面大家一起来学习吧。..
  • JS视频弹幕效果 JS实现视频弹幕效果

    想了解JS实现视频弹幕效果的相关内容吗,weixin_51276799在本文为您仔细讲解JS视频弹幕效果的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:JS,视频弹幕,下面大家一起来学习吧。..

网友评论

Copyright 2020 www.ben10gamesx.com 【Win11软件站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式