Spring Boot Admin监控服务

Spring Boot Admin(SBA)是一款基于Actuator开发的开源软件:https://github.com/codecentric/spring-boot-admin,以图形化界面的方式展示Spring Boot应用的配置信息、Beans信息、环境属性、线程信息、JVM状况等。本文使用的Spring Boot Admin版本为1.5.7,有能力的朋友可以直接阅读官方文档:http://codecentric.github.io/spring-boot-admin/1.5.7。

搭建SBA服务端

搭建一个SBA服务端(Server),其他被监控的Spring Boot应用作为客户端(Client),客户端通过HTTP的方式将自己注册到服务端,以供服务端进行监控服务。大致关系如下图所示:

Spring Boot Admin监控服务_第1张图片

 

引入SBA Server依赖

使用http://start.spring.io/开启一个简单的Spring Boot项目,然后引入spring-boot-admin-server相关依赖:

1
2
3
4
5
6
7
8
9
10

    de.codecentric
    spring-boot-admin-server
    1.5.7


    de.codecentric
    spring-boot-admin-server-ui
    1.5.7·

 

开启Admin监控

在Spring Boot入口类中加入@EnableAutoConfiguration@EnableAdminServer注解开启监控功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import de.codecentric.boot.admin.config.EnableAdminServer;

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

 

然后在yml中对项目进行简单的配置:

1
2
3
server:
  port: 8080
  context-path: /admin-server

 

启动项目,访问http://localhost:8080/admin-server:

Spring Boot Admin监控服务_第2张图片

因为还没添加客户端,所以监控列表里是空的,接下来创建一个Spring Boot应用作为客户端。

SBA客户端

引入SBA Client依赖

同样的,使用http://start.spring.io/搭建一个简单的Spring Boot项目作为SBA客户端,然后引入Client依赖:

1
2
3
4
5

    de.codecentric
    spring-boot-admin-starter-client
    1.5.7

 

yml配置:

1
2
3
4
5
6
7
8
9
10
11
management:
  security:
    enabled: false
    
server:
  port: 8081
  
spring:
  boot:
    admin:
      url: http://localhost:8080/admin-server

 

spring.boot.admin.url配置的是SBA服务端的地址,management.security.enabled: false这里先关闭安全验证。启动客户端后查看http://localhost:8080/admin-server地址:

Spring Boot Admin监控服务_第3张图片

 

可看到SBA客户端已经被注册到SBA服务端了,接下来便可以在SBA服务端页面上查看各种SBA客户端信息:

Spring Boot Admin监控服务_第4张图片

 

客户端额外信息

默认客户端在服务端监控列表呈现的信息并不多:

QQ截图20180514105704.png

我们可以在SBA客户端yml里配置更为详细的信息:

1
2
3
4
5
6
info: 
  app:  
    name: "@project.name@"
    description: "@project.description@"  
    version: "@project.version@"  
    spring-boot-version: "@project.parent.version@"

 

然后便可以在SBA服务端看到较为详细的客户端信息:

Spring Boot Admin监控服务_第5张图片

你可能感兴趣的:(spring,boot)