Spring Boot Actuator

添加依赖

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

Spring Boot Actuator

服务监控与管理组件

自定义endpoint

在类上增加注解@Endpoint,在方法上增加注解@ReadOperation、@WriteOperation、@DeleteOperation

1
2
3
4
5
6
7
8
9
10
11
@Component
@Endpoint(id = "dennis")
public class DennisEndpoint {
@ReadOperation
public Map<String, String> hello() {
Map<String, String> result = new HashMap<>();
result.put("author", "dennis");
result.put("age", "24");
return result;
}
}

访问url: http://localhost:8080/actuator/dennis

  • @ReadOperation GET请求,响应状态为 200 如果没有返回值响应 404(资源未找到)
  • @WriteOperation POST请求,响应状态为 200 如果没有返回值响应 204(无响应内容)
  • @DeleteOperation DELETE请求,响应状态为 200 如果没有返回值响应 204(无响应内容)

HttpTraceEndpoint -> HttpTraceRepository.findall()(接口) -> InMemoryHttpTraceRepository.add()

HttpTraceFilter -> OncePerRequestFilter -> GenericFilterBean(把spring的一家人带进来了) -> Filter

Actuator
Endpoint
HealthIndicator -> AbstractHealthIndicator

Actuator
Endpoint
HealthIndicator

http://blog.battcn.com/

参考文档

http://blog.battcn.com/2018/05/24/springboot/v2-actuator-introduce/