Spring Boot 2 Actuator Metrics端点无法访问问题求助
解决Spring Boot 2.0.0.M7 Actuator Metrics 404的方法
我来帮你一步步排查这个问题,Spring Boot 2.x版本的Actuator和1.x差异不小,尤其是你用的还是2.0.0.M7这个里程碑版本,得注意几个关键配置细节:
确认Actuator依赖是否正确引入
Spring Boot 2.x开始,Actuator是独立的starter依赖,你需要确保在项目的构建文件里已经添加了它:
对于Maven项目,在pom.xml中加入:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>2.0.0.M7</version> </dependency>对于Gradle项目,在build.gradle中加入:
implementation 'org.springframework.boot:spring-boot-starter-actuator:2.0.0.M7'配置端点的Web暴露规则
这是最容易踩坑的点:Spring Boot 2.x默认只暴露health和info两个端点,哪怕你已经设置了management.endpoint.metrics.enabled=true,metrics端点也不会对外暴露。你需要额外配置Web端的暴露规则:
在application.properties中添加:# 仅暴露metrics端点 management.endpoints.web.exposure.include=metrics # 如果需要暴露所有Actuator端点,可以用* # management.endpoints.web.exposure.include=*验证Actuator基础路径
2.x版本默认的Actuator基础路径是/actuator,你访问的localhost:8080/actuator/metrics是正确的,但如果你的项目修改了management.endpoints.web.base-path配置,记得把路径对应调整过来。重启应用
修改完配置后一定要重启Spring Boot应用,否则新的配置不会生效,这也是很多人容易忽略的小细节。
如果做完以上几步还是有问题,可以检查一下应用启动日志,看看有没有关于Actuator端点加载的报错信息,或者确认一下端口是否正确(比如有没有改server.port)。
内容的提问来源于stack exchange,提问作者Dachstein

