基于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: 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: management.context-path=/management #endpoints选择暴露的信息如health,env等 endpoints.sensitive=false #如果没有数据库,不关闭会由于得不到而出错 management.health.db.enabled=false #关闭security,当信息由于安全被拦截时使用。true:启用,false:关闭 management.security.enabled=false
|