起步
2.1 配置Spring Boot Admin服务端
首先 你需要创建一个最简单的Spring Boot服务端项目。最快捷的方式是使用start.spring.io来创建一个。
- pom.xml 添加Spring Boot Admin Server相关的依赖:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.5.0</version>
</dependency>
- 添加@EnableAdminServer到配置文件中:
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
}
}
如果你通过WAR包部署 Spring Boot Admin项目,请参考spring-boot-admin-sample-war项目。
也可以参考spring-boot-admin-sample项目,其中添加了安全相关的配置。
2.2 注册客户端应用程序
你可以将你的Spring Boot Admin 应用通过SBA的客户端或Spring Cloud Discovery(比如:Eureka)注册。
2.2.1 spring-boot-admin-starter-client
每个希望注册的客户端都需要包含Spring Boo Admin Client。
- pom.xml添加spring-boot-admin-starter-client:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>1.5.0</version>
</dependency>
- 配置URL:
spring.boot.admin.url: http://localhost:8080 (1)
management.security.enabled: false (2)
(1)Spring Boot Admin服务注册的URL
(2)从Spring Boot 1.5.x开始,所有的端点默认启用安全认证。为了方便,在这里禁用了安全认证。你可以查看 5.安全 章节,学习如何处理安全认证相关的内容。
2.2.2 Spring Cloud Discovery
如果你已经在应用中使用了Spring Cloud Discovery,你可以不再需要Spring Boo Admin Client了。仅需要将当前应用配置为一个发现服务的客户端就可以了。
下面将使用Eureka作为示例,当然其它的Spring Cloud发现服务也是支持的。这儿也有使用Consul和Zookeeper的示例。
你也可以查看Spring Cloud的文档。
- pom.xml添加spring-cloud-starter-eureka依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
- 通过@EnableDiscoveryClient开启服务发现:
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
}
}
- application.yml中配置Eureka服务器信息:
eureka: (1)
instance:
leaseRenewalIntervalInSeconds: 10
client:
registryFetchIntervalSeconds: 5
serviceUrl:
defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/
management.security.enabled: false (2)
(1)配置Eureka客户端相关信息。
(2)从Spring Boot 1.5.x开始,所有的端点默认启用安全认证。为了方便,在这里禁用了安全认证。你可以查看 5.安全 章节,学习如何处理安全认证相关的内容。
也可参考spring-boot-admin-sample-eureka。
你可以将Spring Boot Admin配置在Eureka Server上。按照上面示例中配置就好了。但需要注意的是:不要将spring.boot.admin.context-path配置为“/”,它会和Eureka相冲突。