Spring Boot Admin介绍

本文介绍了Spring Boot Admin,一个用于管理和监控Spring Boot应用的工具。它基于spring-boot-starter-actuator,提供了一个直观的UI界面。文章详细讲解了如何设置Spring Boot Admin Server和Client,包括向Eureka Server注册,以及如何通过Admin Server监控应用的详细信息。
摘要由CSDN通过智能技术生成

Spring Boot Admin是什么?

Spring Boot Admin用来管理和监控Spring Boot应用程序。
spring-boot-starter-actuator是Spring Boot提供的一个包,可以对系统健康情况进行监控,Spring Boot Admin是在spring-boot-starter-actuator基础上,开发的一套功能强大的监控系统。

如何使用Spring Boot Admin?

Spring Boot Admin分为Server端和Client端,Client端通过Http向Server注册,也可以结合Spring Cloud Eureka向Eureka Server注册。Spring Boot Admin提供了UI界面,用于管理和监控。
本次通过三个项目来学习使用Spring Boot Admin:Spring Cloud Eureka Server,Spring Boot Admin Server和Spring Boot Admin Client。Spring Boot Admin Server和Spring Boot Admin Client向Spring Cloud Eureka Server注册,通过Spring Boot Admin Server进行监控。
1.Spring Cloud Eureka Server
采用之前搭建的Spring Cloud Eureka Server
2.Spring Boot Admin Server
新建项目Spring Boot Admin Server,pom文件引入依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server</artifactId>
        <version>1.5.1</version>
    </dependency>
    <dependency>
        <groupId>de.codecentric</groupId>
        <artifactId>spring-boot-admin-server-ui</artifactId>
        <version>1.5.1</version>
    </dependency>
    <dependency>
        <groupId>org.jolokia</groupId>
        <artifactId>jolokia-core</artifactId>
    </dependency>
</dependencies>

引入spring-cloud-starter-eureka,向Eureka Server进行注册,引入spring-boot-admin-server来构建Spring Boot Admin Server功能,引入spring-boot-admin-server-ui来使用图形化界面。界面中还需要与JMX-Beans进行交互,所以再引入jolokia-core。
由于spring-boot-starter-actuator在spring-boot-admin-server中已经包含了,所以不用再次引用。
接下来配置application.yml:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
management:
  security:
    enabled: false
server:
  port: 5000
logging:
  file: "logs/boot-admin-sample.log"
spring:
  application:
    name: service-admin-server
  boot:
    admin:
      routes:
        endpoints: env,metrics,dump,jolokia,info

配置文件中指定Eureka Server的地址,来向Eureka Server注册。指定服务名称为service-admin-server,启动端口为5000。log文件路径为logs/boot-admin-sample.log。
由于Spring Boot 1.5版本之后,Actuator中所有的接口都默认开启了安全验证,为了方便,先把安全验证关掉,配置management.security.enabled: false。
在resource目录下再新建logback-spring.xml,配置logback的JMXConfigurator:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <jmxConfigurator/>
</configuration>

新建启动类AdminServerApplication:

@SpringBootApplication
@EnableEurekaClient
@EnableAdminServer
public class AdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }
}

@EnableEurekaClient注解,说明这是一个Eureka Client,向Eureka Server注册,@EnableAdminServer注解声明这是一个Admin Server。
到这一步,Spring Boot Admin Server就创建完成了。接下来创建Spring Boot Admin Client。
Spring Boot Admin Client
新建Spring Boot Admin Client项目,Spring Boot Admin Client既可以向Spring Boot Admin Server注册,也可以向Eureka Server注册,这里,我们直接向Eureka Server注册。pom文件引入依赖:

<dependencies>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

配置文件:

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
management:
  security:
    enabled: false
server:
  port: 5100
logging:
  file: "logs/boot-client-sample.log"
spring:
  application:
    name: service-admin-client

启动类:

@SpringBootApplication
@EnableEurekaClient
public class AdminClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminClientApplication.class, args);
    }
}

其实,这里的AdminClient,已经和Spring Boot Admin关系不大了,只是依赖了spring-cloud-starter-eureka,向Eureka Server进行注册。
由于Spring Boot Admin Server注册到了Eureka Server上,所以Spring Boot Admin Server会可以定时拉取服务注册列表,监控Eureka Server上注册的服务。

启动三个项目,在浏览器输入http://localhost:5000,可以看到Spring Boot Admin的界面。
这里写图片描述

界面中,监控到两个实例,service-admin-server和service-admin-client。点击Details,可以看到更加详细的信息。
这里写图片描述

这里写图片描述

Spring Boot Admin 可以监控实例的环境信息,指标信息,日志信息,JMX等。

参考资料:
1.《Spring Cloud与Docker微服务架构实战》 周立 著
2.《Spring Cloud微服务实战》 翟永超 著
3.《深入理解Spring Cloud与微服务构建》 方志朋 著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值