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

Posted

技术标签:

【中文标题】Spring Actuator 端点给出 404 错误,除了健康和信息【英文标题】:Spring Actuator endpoints giving 404 error, except for health and info 【发布时间】:2020-05-24 16:07:00 【问题描述】:

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

    Spring Boot 执行器 春季网络

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

我希望能够访问所有执行器端点。但是,对于除http://localhost:8080/actuator/health 和http://localhost:8080/actuator/info 之外的所有端点,我都会收到404s

我的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

【问题讨论】:

我使用执行器从 start.spring.io 创建了一个 Spring Boot 项目,并复制/粘贴您的 application.properties,它运行良好。您确定要在 8080 端口上启动应用程序还是在启动日志中出错? 检查问题***.com/questions/48900892/… 【参考方案1】:

您似乎需要在启用端点后指定要公开的端点。

来自文档 2.2:

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

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

【讨论】:

以上是关于Spring Actuator 端点给出 404 错误,除了健康和信息的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot 监控 Actuator

关于spring-boot-actuator的httptrace端点不生效问题解决办法

无法访问 Spring Boot Actuator“/actuator”端点

Spring Boot /actuator 返回 404 未找到

Spring Data REST 端点提供 404 状态码

Spring Boot 向 Actuator 端点添加上下文路径