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

如何配置Datadog使4xx状态码被视为trace.servlet.request.errors错误

解决Datadog APM不统计4xx HTTP错误的问题

问题根源

trace.servlet.request.errors 这个指标默认只统计5xx状态码的请求,因为Datadog把4xx归类为客户端错误,默认不算作服务端错误范畴。

解决方案1:用现成指标直接筛选4xx/5xx请求

不需要修改应用配置,直接用带有http.status_code标签的trace.servlet.request.duration指标来统计所有4xx和5xx请求:

sum:trace.servlet.request.duration{service:my-app,env:dev,http.status_code:4*,http.status_code:5*}.as_count()
  • 这里用通配符4*匹配所有4xx状态码,5*匹配所有5xx状态码
  • 这个指标本身是请求耗时的统计,用.as_count()可以转换为请求数量统计

解决方案2:自定义错误状态码范围,让4xx计入trace.servlet.request.errors

如果你希望保持用trace.servlet.request.errors指标,可以修改Datadog Java Agent的配置,把4xx状态码纳入错误判定范围:

  1. 在Spring应用的配置文件(application.properties或application.yml)中添加:
    dd.trace.error.statuses=400-599
    
    或者YAML格式:
    dd:
      trace:
        error:
          statuses: 400-599
    
  2. 如果你用的是独立的Datadog Agent配置文件(dd-java-agent.properties),同样添加:
    dd.trace.error.statuses=400-599
    
  3. 重启你的Spring应用,新的配置会生效,之后trace.servlet.request.errors就会包含4xx和5xx的请求了。

注意事项

  • 方案1更灵活,不需要改动应用,适合快速在仪表盘上实现需求
  • 方案2会改变错误指标的默认行为,适合希望统一用错误指标统计所有HTTP异常场景的情况

内容的提问来源于stack exchange,提问作者夢のの夢

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:48:15