一、 前言
在平时业务开发中,我们往往会在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 {@GetMappingpublic Map<Object, Object> getMyActuator() {Map<Object, Object> resultMap = new HashMap<>();resultMap.put("status", "UP");resultMap.put("msg", "我是测试数据...");return resultMap;}}
3. 暴露端点
注意:自定义的端点需要进行暴露,否则请求会404
。
management:server:port: 9999endpoints:web:exposure:include: myActuator
4. 测试
请求URL:http://127.0.0.1:9999/actuator/myActuator
可以看到此时我们自定义的Actuator端点生效了。