Spring Boot应用集成Actuator组件以后怎么自定义端点暴露信息

69 阅读1分钟

一、 前言

在平时业务开发中,我们往往会在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端点生效了。