前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天20分钟之spring boot admin

每天20分钟之spring boot admin

原创
作者头像
李子健
发布2022-08-27 14:22:59
5970
发布2022-08-27 14:22:59
举报
文章被收录于专栏:每日一善

springboot应用的监控

对于springboot应用的监控我们有很多选择,因为actuator提供了一组数据

我们可以使用springboot-admin,使用skywalking之类的监控中间件,也可以使用普罗米修斯+graphna

此处我们介绍spring-boot-admin

spring-boot-admin的server

配置springboot即可

代码语言:txt
复制
    <dependencies>
        <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.5.2</version>
        </dependency>
    </dependencies>
image.png
image.png

spring-boot-admin的client

代码

代码语言:txt
复制
@RestController
public class UserController {

    private final ObjectMapper mapper =new ObjectMapper();



    @GetMapping("/user/{uid}")
    public String info(@PathVariable long uid) throws JsonProcessingException {

        @Data
        class IdData {
            private Long uid;
        }

        IdData idData = new IdData();
        idData.setUid(uid);
        return mapper.writeValueAsString(idData);
    }
}

配置服务

代码语言:txt
复制
    <dependencies>
        <!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-client -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.5.2</version>
        </dependency>
    </dependencies>
代码语言:txt
复制
spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://127.0.0.1:10800

server:
  port: 10801
  address: 127.0.0.1
debug: true
management:
    endpoints:
      web:
        exposure:
          include: "*"
    endpoint:
      health:
        show-details: always
logging:
  config: classpath:logback-spring.xml

ab -n 1000 -c 10 http://127.0.0.1:10801/user/123

spring boot admin的认证

服务端

代码语言:txt
复制
spring:
  application:
    name: admin-server
  security:
    user:
      name: lili
      password: 123456

认证配置

代码语言:txt
复制
@Configuration
    public static class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
        private final String adminContextPath;

        public SecurityPermitAllConfig(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().httpBasic()
                    .and().csrf().disable();
        }
    }

客户端

代码语言:txt
复制
spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://127.0.0.1:10800
        username: lili
        password: 123456

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • springboot应用的监控
  • spring-boot-admin的server
  • spring-boot-admin的client
  • spring boot admin的认证
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档