SpringBootAdmin不是Spring官方提供的模块,它包含了Client和Server两部分。server部分提供了用户管理界面,client即为被监控的服务。client需要注册到server端。SpringBootAdmin提供了很少的几个监控服务端点,需要依赖SpringBootActuator丰富监控功能。server端配置server端的配置很简单,无需任何开发。
server端配置
server端的配置很简单,无需任何开发。
第一步:引入依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.3.0</version>
</dependency>
第二步:在启动类上增加@EnableAdminServer注解,开启对spring-boot-admin的支持。
@SpringBootApplication
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
做好以上配置,然后访问http://ip:port;效果如下
Client端配置
在客户端引入spring-boot-actuator依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
由于actuator默认只开启了health和info两个web端口,如果想要在server端页面看到所有的监控信息,需要开启其他接口的web端口。
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=ALWAYS
集成邮箱报警功能
在spring boot admin中,也可以集成邮箱报警功能,比如服务不健康了、下线了,都可以给指定邮箱发送邮件。集成非常简单,只需要改造下admin-server即可:
在admin-server工程Pom文件,加上mail的起步依赖,代码如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
在配置文件application.yml文件中,需要配置邮件相关的配置,如下:
spring.mail.host: smtp.163.com
spring.mail.username: miles02
spring.mail.password:
spring.boot.admin.notify.mail.to: [email protected]
做完以上配置后,当我们已注册的客户端的状态从 UP 变为 OFFLINE 或其他状态,服务端就会自动将电子邮件发送到上面配置的地址。