You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Micrometer Prometheus Registry时404请求URI被聚合为/**的问题

问题分析与配置修复

你遇到的核心问题是404请求的指标里uri显示/**且exception为None,这是因为Spring Boot默认不会捕获NoHandlerFoundException,也不会将未匹配到处理器的请求路径正确记录到指标中,需要调整以下配置:

1. 开启未找到处理器的异常抛出

在application.yml或application.properties中添加配置,让DispatcherServlet在找不到请求对应的处理器时抛出异常:

spring:
  mvc:
    throw-exception-if-no-handler-found: true

或properties格式:

spring.mvc.throw-exception-if-no-handler-found=true

2. 关闭静态资源默认映射(可选)

如果你的服务不需要处理静态资源,需关闭默认静态资源映射,避免静态资源请求被默认处理器拦截,确保真正的404请求能触发异常:

spring:
  web:
    resources:
      add-mappings: false

或properties格式:

spring.web.resources.add-mappings=false

3. 效果验证

开启上述配置后,NoHandlerFoundException会被正常抛出,此时Micrometer会将exception标签设置为NoHandlerFoundException,同时uri会记录为实际请求的路径,而非通配符/**。调整后的404指标会类似:

http_server_requests_seconds_count{exception="NoHandlerFoundException",method="GET",outcome="CLIENT_ERROR",status="404",uri="/your-actual-request-path",} 1.0

内容的提问来源于stack exchange,提问作者Ahsan Naseem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 10:10:36