SpringBoot应用Prometheus端点无法访问,返回404错误
SpringBoot应用Prometheus端点无法访问,返回404错误
看起来你已经跟着文档加了必要的依赖,但还是碰到了端点找不到的问题,我来帮你梳理下可能的原因和解决办法:
1. 先检查YAML配置的缩进问题
YAML对缩进的要求非常严格,你给出的配置里base-path和exposure的缩进级别不一致,这会导致配置不生效。正确的缩进格式应该是这样:
management: endpoints: web: base-path: / exposure: include: prometheus
注意web节点下的base-path和exposure要保持相同的缩进深度,否则Spring Boot无法正确读取你的端点暴露配置。
2. 注意端点路径的变化
你把base-path设为/,这意味着所有Actuator端点都会直接暴露在应用的根路径下,不再带默认的/actuator前缀。所以你应该访问 http://localhost:9083/prometheus,而不是http://localhost:9083/actuator/prometheus——后者自然会返回404。
如果想保留/actuator前缀,只需要删掉base-path: /这个配置(默认前缀就是/actuator),之后访问/actuator/prometheus就能正常获取指标了。
3. 额外排查点
- 确认Spring Boot版本和
micrometer-registry-prometheus版本兼容:最好使用Spring Boot依赖管理自动维护的版本,避免手动指定版本导致的兼容性问题。 - 如果应用有Spring Security或自定义拦截器:要确保没有拦截
/prometheus(或/actuator/prometheus)路径,需要把这些端点加入访问白名单。
你可以先调整配置的缩进,再根据base-path的设置访问对应路径,应该就能解决问题了。
备注:内容来源于stack exchange,提问作者orly.sharon
相关产品推荐
相关产品推荐

