基于spring boot 四大神器Actuator,通过endpoint暴露出health等信息。

Spring Boot Admin 构建过程


1. spring-boot-admin-server配置

1.1 添加dependency

在insight2-actutor项目pom.xml文件中添加下列dependency

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.4.1</version>
</dependency>

spring-boot-admin-server:作为actutor服务端,负责获取本服务的环境信息,以及接收其他client发送的信息
spring-boot-admin-server-ui:服务的web UI界面

1.2 配置 spring-boot-admin-server

1. 在ActuatorApp文件中添加@EnableAdminServer注解,使得应用支持AdminServer

1
2
3
4
@EnableAdminServer
@EnableAutoConfiguration
@Configuration
protected static class ApplicationSecurity extends WebSecurityConfigurerAdapter {}

2. 在application.properties文件中添加如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#server 服务端口配置
server.port=8090
server.session-timeout=300
#management
management.context-path=/
#security 登录帐号&密码
security.user.name=admin
security.user.password=admin
#spring
spring.boot.admin.url=http://localhost:8090
spring.boot.admin.auth.usename=admin
spring.boot.admin.auth.password=admin
spring.application.name=@project.name@
#log 日志配置
logging.level.root=DEBUG
logging.level.org.springframework.security=DEBUG
logging.file=./log/insight-admin.log
#info 设置服务基本信息
info.build.artifact=@project.artifactId@
info.build.name=@project.name@
info.build.description=@project.description@
info.build.version=@project.version@

2. spring-boot-admin-client配置

2.1 添加dependency
1
2
3
4
5
6
7
8
9
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.4.1</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>

spring-boot-admin-starter-client:作为actutor客户端,负责获取本服务的环境信息,并发送给服务端(server)
jolokia-core:实现通过Web控制系统的日志级别

2.2 配置 spring-boot-admin-client

1. 在application.properties文件中添加如下配置

1
2
3
4
5
6
7
8
9
10
11
#actuator
spring.application.name=@project.name@
#设置client提交信息的url,一般为server端的端口地址
spring.boot.admin.url=http://127.0.0.1:8090
management.context-path=/management
#endpoints选择暴露的信息如health,env等
endpoints.sensitive=false
#如果没有数据库,不关闭会由于得不到而出错
management.health.db.enabled=false
#关闭security,当信息由于安全被拦截时使用。true:启用,false:关闭
management.security.enabled=false