前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >springBoot服务监控

springBoot服务监控

作者头像
歪歪梯
发布2020-06-19 16:16:05
8680
发布2020-06-19 16:16:05
举报
文章被收录于专栏:歪歪梯Club

springBootAdmin

是面向springBoot的一款监控组件,很好集成,配置一下参数加个依赖就能用

admin工程

代码语言:javascript
复制
    <!-- springBoot admin 监控 -->
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-server</artifactId>
        <version>2.1.0</version>
    </dependency>

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

    <!-- 引入Web场景 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

引入web依赖和admin依赖,spring security依赖是为了做安全验证,不需要则不加入也可以 application.properties配置

代码语言:javascript
复制
spring.application.name=iot-admin
server.port=9000
#配置admin工程登录的账号密码
spring.security.user.name=eetal
spring.security.user.password=123456

新增一个application主类,打上EnableAdminServer注解即代表开启adminServer服务,如果需要安全验证,就加入SecuritySecureConfig 的配置对接口拦截,对应的客户端工程需要配置登录的账号和密码(客户端不需要引入spring security依赖)

代码语言:javascript
复制
@SpringBootApplication
@EnableAdminServer
public class AdminApplication {

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

    //配置安全校验
    @Configuration
    @Order(Ordered.LOWEST_PRECEDENCE)
    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();
        }
    }
}

客户端

代码语言:javascript
复制
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-starter-client</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

客户端在web的基础上,加入spring-boot-admin-starter-client的依赖,在application.properties配置文件里加上如下参数

代码语言:javascript
复制
#要展示的应用名称
spring.application.name=iot-web-80
#admin工程的url
spring.boot.admin.client.url=http://localhost:9000
#展示全部细节信息
management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=*
#允许admin工程远程停止本应用
management.endpoint.shutdown.enabled=true
#admin工程的账号密码
spring.boot.admin.client.username=eetal
spring.boot.admin.client.password=123456

效果

先开启admin工程,再运行客户端工程。访问admin工程的首页,登录以后就可以看到监控页面了

springBootAdmin首页 还可以看到springBoot工程的日志,太舒服了

日志查看 还可以通过jmx远程修改一些配置参数,比如数据库连接池

数据库配置 线程运行状况

线程分析 dump堆内存

堆内存快照 非常实用!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 歪歪梯Club 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • springBootAdmin
  • admin工程
  • 客户端
  • 效果
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档