ZhangZangQian / ZhangZangQian.github.io

MIT License
0 stars 0 forks source link

posts/add-skywalking-traceId-to-springcloud-gateway-response-header/ #2

Open utterances-bot opened 11 months ago

utterances-bot commented 11 months ago

SpringCloud Gateway 响应头添加 Skywalking TraceId | 小胖子之道

在微服务架构中,一次请求可能会被多个服务处理,而每个服务又会产生相应的日志,且每个服务也会有多个实例。在这种情况下,如果系统发生异常,没有 Trace ID,那么在进行日志分析和追踪时就会非常困难,因为我们无法将所有相关的日志信息串联起

https://me.xpzzd.com/posts/add-skywalking-traceId-to-springcloud-gateway-response-header/

zhouzhonghe commented 11 months ago

方便告知skywalking的版本吗?我在8.5.0中引入这两个agent后,报错::ava.lang.NoSuchFieldError: HTTP_RESPONSE_STATUS_CODE at org.apache.skywalking.apm.plugin.spring.webflux.v5.DispatcherHandlerHandleMethodInterceptor.lambda$afterMethod$1(DispatcherHandlerHandleMethodInterceptor.java:118) ~[na:na]

ZhangZangQian commented 11 months ago

方便告知skywalking的版本吗?我在8.5.0中引入这两个agent后,报错::ava.lang.NoSuchFieldError: HTTP_RESPONSE_STATUS_CODE at org.apache.skywalking.apm.plugin.spring.webflux.v5.DispatcherHandlerHandleMethodInterceptor.lambda$afterMethod$1(DispatcherHandlerHandleMethodInterceptor.java:118) ~[na:na]

Skywalking Agent 8.15.0 Skywalking 9.2.0

zhouzhonghe commented 11 months ago

感谢老铁

zhouzhonghe commented 11 months ago

我在更新skywalking版本后,运行确实没有报错。但是在网关处String skyWalkingTraceId = WebFluxSkyWalkingOperators.continueTracing(exchange, TraceContext::traceId);得到的traceId和其他微服务中logback打印(或者说通过这个函数TraceContext.traceId()获取)的traceid存在不一致,请问您是否遇到过这种情况,需要如何解决呢?

ZhangZangQian commented 11 months ago

我在更新skywalking版本后,运行确实没有报错。但是在网关处String skyWalkingTraceId = WebFluxSkyWalkingOperators.continueTracing(exchange, TraceContext::traceId);得到的traceId和其他微服务中logback打印(或者说通过这个函数TraceContext.traceId()获取)的traceid存在不一致,请问您是否遇到过这种情况,需要如何解决呢?

这种情况没有遇到过,我这边是一致的,解决不了可以到 skywalking 官方仓库求助,我就是在那问的。参考https://github.com/apache/skywalking/discussions/10686

ZhangZangQian commented 11 months ago

我在更新skywalking版本后,运行确实没有报错。但是在网关处String skyWalkingTraceId = WebFluxSkyWalkingOperators.continueTracing(exchange, TraceContext::traceId);得到的traceId和其他微服务中logback打印(或者说通过这个函数TraceContext.traceId()获取)的traceid存在不一致,请问您是否遇到过这种情况,需要如何解决呢?

确认下插件是否都正确移动了,以及依赖是否正确引用。