Spring Boot 监控之 Admin攻略

关注公众号:壹家大数据   

源码下载,后台回复:spa

Spring Boot Admin简介

Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。创建的springboot应用程序作为Spring Boot Admin Client需要向Spring Boot Admin Server注册(通过HTTP)。UI是的AngularJs应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。常见的功能或者监控如下,比如显示健康状况,监控日志等级等。

搭建server端

创建Spring Boot Admin Server

本文采用maven工程的方式来进行搭建,spring boot的版本为2.1.1。在工程admin-server引入admin-server的起来依赖和web的起步依赖,代码如下:

<dependencies>
    <!-- AdminUI服务端依赖 -->
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-starter-server</artifactId>
      <version>2.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    <!-- Spring Boot Actuator对外暴露引用的监控信息, Jolokia提供使用HTTP接口获取json -->
    <dependency>
      <groupId>org.jolokia</groupId>
      <artifactId>jolokia-core</artifactId>
    </dependency>
    <!-- Spring Boot Actuator依赖 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!-- 服务包引用1.1.1版本, maven仓库已经不支持下载, 手动引入1.1版本 -->
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1</version>
    </dependency>
  </dependencies>

然后需要在工程的启动类Application加上@EnableAdminServer注解,才能够开启AdminServer的功能,代码如下:

@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class Application {

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

}

在工程的配置文件application.properties中配置程序名和程序的端口,代码如下:

server.port=8081

通过上面的操作,Admin Server就创建好了。

创建Spring Boot Admin Client

需要在admin-client工程的pom文件引入admin-client的起步依赖和web的起步依赖,代码如下:

<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>

在springboot 应用的配置文件application.properties中配置应用名和端口信息,以及指定admin-server注册的地址为http://127.0.0.1:8081.最后暴露spring-boot应用的所有的端口信息

management.endpoint.loggers.enabled=true
management.endpoints.web.exposure.include=*

spring.boot.admin.client.url=http://127.0.0.1:8081
spring.application.name=admin-client

spring-boot应用的启动文件如下:

@EnableAdminServer
@SpringBootApplication
public class SpringTutorialApplication {
    private static Logger logger = LoggerFactory.getLogger(SpringTutorialApplication.class);
    
  public static void main(String[] args) {
    logger.info("test info");
    logger.debug("test debug");
    SpringApplication.run(SpringTutorialApplication.class, args);
  }

一次启动两个工程,在浏览器上输入localhost:8081,浏览器显示的界面如下:

点击查看wallboard:

点击wallboard,可以看到admin-client具体的信息,比如内存状态信息:

也可以查看spring bean的情况:

同样也可以查看并动态设置日志的等级:

还有跟多其他的操作,自己探索吧。

参考资料

http://codecentric.github.io/spring-boot-admin/2.1.0/

https://github.com/codecentric/spring-boot-admin

猜你喜欢

转载自blog.csdn.net/qq_34246164/article/details/106061745