一、 前言
在平时业务开发中,我们往往会在spring Boot项目中集成Actuator组件进行系统监控,虽然Actuator组件暴露的端点信息已经足够丰富了,但是特殊场景下,我们也需要自己暴露端点信息,此时应该怎么操作呢?
二、开发步骤
1. 创建一个spring Boot项目,导入相关依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2. 自定义端点暴露逻辑
@RestControllerEndpoint(id = "myActuator") // 标识这是一个actuator组件暴露端点
@Component //交给Spring容器管理
public class ActuatorEndpointTest {
@GetMapping
public Map<Object, Object> getMyActuator() {
Map<Object, Object> resultMap = new HashMap<>();
resultMap.put("status", "UP");
resultMap.put("msg", "我是测试数据...");
return resultMap;
}
}
3. 暴露端点
注意:自定义的端点需要进行暴露,否则请求会404
。
management:
server:
port: 9999
endpoints:
web:
exposure:
include: myActuator
4. 测试
请求URL:http://127.0.0.1:9999/actuator/myActuator
可以看到此时我们自定义的Actuator端点生效了。