监控SpringBoot健康状况

使用Actuator检查与监控

在pom文件中添加Actuator的坐标

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

在全局配置文件中关闭安全限制

1
management.security.enabled=false

ID 描述 是否需要鉴权
actuator 为其他端点提供“发现页面”。要求 Spring HATEOAS 在 classpath 路径上。 需要
auditevents 陈列当前应用程序的审计事件信息。 需要
autoconfig 展示自动配置信息并且显示所有自动配置候选人以及他们“被不被”应用的原因。 需要
beans 显示应用程序中所有 Spring bean 的完整列表。 需要
configprops 显示所有配置信息。 需要
dump dump 所有线程。 需要
env 陈列所有的环境变量。 需要
flyway Shows any Flyway database migrations that have been applied. 需要
health 显示应用程序运行状况信息 不需要
info 显示应用信息。 不需要
loggers 显示和修改应用程序中的 loggers 配置。 需要
liquibase 显示已经应用的任何 Liquibase 数据库迁移。 需要
metrics 显示当前应用程序的“指标”信息。 需要
mappings 显示所有@RequestMapping 的 url 整理列表。 需要
shutdown 关闭应用(默认情况下不启用)。 需要
trace 显示跟踪信息(默认最后 100 个 HTTP 请求)。 需要

使用可视化的监控报表-Spring Boot Admin

SBA则是基于Actuator更加进化了一步,其是一个针对Actuator接口进行UI美化封装的监控工具。

创建一个Spring Boot Admin Server工程作为服务端

服务端pom文件中添加添加坐标

1
2
3
4
5
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>1.5.7</version>
</dependency>

服务端启动类添加注解

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableAdminServer
public class SpringbootServerApplication {

public static void main(String[] args) {
SpringApplication.run(SpringbootServerApplication.class, args);
}

}

客户端pom文件中添加添加坐标

1
2
3
4
5
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>1.5.7</version>
</dependency>

修改客户端的 application.properteis 配置文件

1
2
3
4
management.security.enabled=false
#http://localhost:9090 表示是 Spring Boot Admin 服务单的 IP 地
址以及端口号
spring.boot.admin.url: http://localhost:9090