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

Spring Boot升级至3.0.6后Kibana事务模块无请求追踪

排查Spring Boot 3.0.6 + Java 17 下Kibana Transaction追踪丢失问题
  • 检查APM代理兼容性
    Spring Boot 3.x切换为Jakarta EE API,旧版Elastic APM代理基本不兼容。先确认你使用的Elastic APM Agent版本至少为1.35.0(该版本开始支持Spring Boot 3)。同时核对agent核心配置,比如elastic.apm.service_name、elastic.apm.server_url,避免因升级导致配置被覆盖或写错。

  • 替换Spring Cloud Sleuth为Micrometer Tracing
    Spring Cloud Sleuth已停止维护,Spring Boot 3官方推荐用Micrometer Tracing对接OpenTelemetry。如果之前依赖Sleuth,直接替换:
    移除旧的spring-cloud-starter-sleuth依赖,添加以下依赖:

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-tracing-bridge-otel</artifactId>
    </dependency>
    <dependency>
        <groupId>io.opentelemetry</groupId>
        <artifactId>opentelemetry-exporter-otlp</artifactId>
    </dependency>
    

    然后在配置文件中添加Micrometer和OTLP的配置:

    management:
      tracing:
        sampling:
          probability: 1.0 # 测试阶段开全量采样,生产按需调整
      otlp:
        tracing:
          endpoint: http://你的APM服务器地址:8200/v1/traces
    
  • 给Java 17添加模块访问权限
    Java 17的模块化系统会限制代理访问内部类,需要给JVM追加参数:

    --add-opens=java.base/java.lang=ALL-UNNAMED
    --add-opens=java.base/java.util=ALL-UNNAMED
    --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
    

    若使用Elastic APM Agent,再加-Delastic.apm.use_unsafe=true,可绕过部分模块访问限制。

  • 核对Elastic Stack版本匹配
    确保Kibana、Elasticsearch与APM Agent版本对应,比如使用Elastic Stack 8.x,就必须搭配8.x系列的APM Agent,版本不匹配会导致追踪数据解析失败,Kibana无法正常展示。

  • 排查日志与ES索引
    开启APM Agent的debug日志(添加JVM参数-Delastic.apm.log_level=debug),检查是否存在数据发送报错,比如连接APM服务器失败、数据格式错误。同时查看Elasticsearch中的apm-*索引是否有新数据写入,先确认追踪数据是否成功上报到ES,排除Kibana前端展示问题。

  • 验证追踪上下文传递
    升级后检查服务间调用的traceparent请求头是否正确生成并携带,也可以在业务日志中打印traceId,验证每个请求的追踪链路是否正常生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 10:05:22