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

如何在OpenTelemetry Java Agent埋点中过滤特定HTTP API调用

回答

OpenTelemetry Java Agent本身已经支持按HTTP请求路径过滤追踪数据的能力,不需要等待后续版本规划,该功能从1.9.0稳定版开始就已内置,早期没有在Agent主配置页标注,属于文档同步遗漏问题。

针对你要过滤/actuator/health探针请求的场景,不需要修改业务代码,直接在启动参数中添加路径排除配置即可,配置支持Ant风格路径匹配规则。

  • 新增配置项说明:-Dotel.traces.exclude.urls用于配置不需要生成追踪、也不会导出到采集端的请求路径列表,多个路径用英文逗号分隔
  • 针对k8s存活探针场景,建议配置为/actuator/health,/actuator/health/**,可以覆盖健康检查端点的所有子路径请求

调整后的完整启动命令参考:

java \
  -javaagent:/opentelemetry/opentelemetry-javaagent.jar \
  -Dotel.javaagent.extensions=/opentelemetry/exporter-auto-0.22.0-alpha.jar \
  -Dotel.traces.exporter=google_cloud_trace \
  -Dotel.metrics.exporter=none \
  -Dotel.traces.exclude.urls=/actuator/health,/actuator/health/** \
  -jar \
  /app.jar

如果你需要更复杂的过滤规则(比如同时匹配请求来源IP、请求头User-Agent为kube-probe标识),可以通过两种方式实现:

  1. 升级Agent到1.13.0以上版本,使用自定义采样规则配置,支持按请求头、请求方法、路径多维度组合过滤
  2. 低版本Agent可以自行编写扩展包,实现Span导出拦截器,在导出逻辑中判断Span的http.route属性,匹配到健康检查路径时直接丢弃即可,不需要修改业务代码

注意事项:

  • 如果你当前使用的Java Agent版本低于1.9.0,内置的路径排除配置不生效,建议优先升级Agent版本,比自行编写扩展的维护成本低很多
  • 配置路径排除后,匹配到的请求从Agent采集层就不会生成Span,不会产生额外的性能开销,也不会出现多余数据上报的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 10:09:17