Spring Cloud 学习笔记十三:搭建微服务工程之Spring Boot Admin 的介绍及使用

目录

Spring Boot Admin 的介绍及使用


Spring Boot Admin 的介绍及使用

Spring Boot 有一个非常好用的监控和管理的源软件,这个软件就是 Spring Boot Admin。该软件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。

主要的功能点有:

  • 显示应用程序的监控状态

  • 应用程序上下线监控

  • 查看 JVM,线程信息

  • 可视化的查看日志以及下载日志文件

  • 动态切换日志级别

  • Http 请求信息跟踪

  • 其他功能点……

 

创建一个 module 模块 blog-admin-server,用于展示各个服务中的监控信息,加上 Spring Boot Admin Server 的依赖,具体代码如下所示:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.3.1</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

创建一个启动类,具体代码如下所示:

@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class BlogAdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(BlogAdminServerApplication.class, args);
    }
}

在属性文件中增加基本配置信息:

server:
  port: 7101
spring:
  application:
    name: blog-admin-server

启动程序,访问 Web 地址 http://localhost:7101 就可以看到主页面了,这个时候是没有数据的,如图所示。

创建一个 module 模块 blog-admin-client,加上 Spring Boot Admin Client 的依赖,具体代码如下所示:

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>		
		<dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

根据开头所述 Spring Boot Admin 是基于 Spring Boot Actuator 之上的,所以我们需要引入Spring Boot Actuator相关依赖。此外我们需要处理 Actuator 的安全性,所以引入 Spring Security相关依赖。

在属性文件中增加配置信息:

server:
  port: 7102
spring:
  application:
    name: blog-admin-client
  boot:
    admin:
      client:
        url:
          - http://localhost:7101
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS      

spring.boot.admin.client.url要注册到其中的Spring Boot Admin Server的URL 。

management.endpoints.web.exposure.include 与Spring Boot 2一样,默认情况下,大多数Actuator(端点)都不通过 http 公开,在这里我们公开了所有端点。对于生产,应该仔细选择要公开的端点。

为了简洁起见,我们暂时禁用安全性:

@Configuration
public class SecurityPermitAllConfig extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().anyRequest().permitAll()  
            .and().csrf().disable();
    }
}

如果 Spring Boot Admin 服务开启了认证,监控的服务中也需要配置对应的用户名和密码,否则会注册失败。

此时我们同时运行服务端和客户端服务,再次访问 http://localhost:7101,可以看到我们的客户端服务已经注册进去,并且可以看到客户端服务的一些信息。

查看应用墙:

点击实例可以查看 blog-admin-client 具体的信息:

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stary1993

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值