Spring Actuator 端点给出 404 错误,健康和信息除外

San*_*eep 1 spring spring-boot

为了更好地理解 Spring Actuator,我创建了一个示例 Spring Initializr 项目,仅包含以下两个依赖项:

  1. 弹簧启动执行器
  2. 春季网

在我的application.properties文件中,我启用了 Web 应用程序默认禁用的所有端点(根据https://docs.spring.io/spring-boot/docs/current/reference/html/product-ready-features.html#product -ready-endpoints-exducing-endpoints)。

我期望能够访问所有执行器端点。但是,我得到了404shttp://localhost:8080/actuator/healthhttp://localhost:8080/actuator/info之外的所有端点。

我的application.properties文件如下:

# Source: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-endpoints-exposing-endpoints

management.auditevents.enabled=true
management.endpoint.beans.enabled=true
management.endpoint.caches.enabled=true
management.endpoint.conditions.enabled=true
management.endpoint.configprops.enabled=true
management.endpoint.env.enabled=true
management.endpoint.flyway.enabled=true

# true by default
#management.endpoint.health.enabled=true

management.endpoint.heapdump.enabled=true
management.endpoint.httptrace.enabled=true

# true by default
#management.endpoint.info.enabled=true

management.endpoint.integrationgraph.enabled=true
management.endpoint.jolokia.enabled=true
management.endpoint.logfile.enabled=true
management.endpoint.loggers.enabled=true
spring.liquibase.enabled=true
management.endpoint.metrics.enabled=true
management.endpoint.mappings.enabled=true
management.endpoint.prometheus.enabled=true
management.endpoint.scheduledtasks.enabled=true
management.endpoint.sessions.enabled=true
management.endpoint.shutdown.enabled=true
management.endpoint.threaddump.enabled=true
Run Code Online (Sandbox Code Playgroud)

小智 5

看起来您需要在启用端点后指定要公开的端点。

来自文档2.2:

*可用于选择所有端点。例如,要通过 HTTP 公开除 env 和 beans 端点之外的所有内容,请使用以下属性:

management.endpoints.web.exposure.include=* management.endpoints.web.exposure.exclude=env,beans