如果使用ingressgateway istio,跟踪ID不会转发到zipkin

如果使用ingressgateway istio,跟踪ID不会转发到zipkin,istio,spring-cloud-sleuth,zipkin,Istio,Spring Cloud Sleuth,Zipkin,我将istio与入口网关一起使用,并添加了zipkin跟踪。我所有的应用程序都使用spring boot和sleuth zipkin 我已经部署了2个zipkin进行测试 通过istio文档在istio系统中部署 在zipkin命名空间中手动部署 spring引导配置指向zipkin名称空间,并始终使用采样配置 问题是,当我使用入口网关时,跟踪id看起来像请求id,它确实会传播到我的子系统。但是,当我查询zipkin(从istio文档在istio系统中部署,并手动部署到另一个命名空间)时,跟

我将istio与入口网关一起使用,并添加了zipkin跟踪。我所有的应用程序都使用spring boot和sleuth zipkin

我已经部署了2个zipkin进行测试

  • 通过istio文档在istio系统中部署
  • 在zipkin命名空间中手动部署
spring引导配置指向zipkin名称空间,并始终使用采样配置

问题是,当我使用入口网关时,跟踪id看起来像请求id,它确实会传播到我的子系统。但是,当我查询zipkin(从istio文档在istio系统中部署,并手动部署到另一个命名空间)时,跟踪id不存在

有趣的是,当我将最外层的系统向前移植,并使用grpc启动spring引导时,跟踪id会传播到子系统,它会显示在zipkin仪表板中

尽管使用ingressgateway和port forward直接grpc调用时跟踪id不同:

入口通道:0672471566b9305f7dcaadecaf1a8c71 直接电话:cdc337ec90b8c085


谢谢

您确定入口网关正在向ZIpkin发送跨距吗?可能它正在传播跟踪上下文,但不知道Zipkin本身?您是否按照istio中所述配置了跟踪采样?当您指向istio系统名称空间中的zipkin时,一切都正常工作?您是否正在使用istio中的zipkin服务,该服务指向跟踪组件。由于istio通常指向zipkin服务,并且服务将指向包含基于Jaeger的API的跟踪pod,请在istio系统名称空间中检查您是否有Jaeger查询服务。尝试将服务向前移植并检查是否有任何跟踪。实际上,我已使用istio系统中部署的zipkin修复了它,但由于某些原因,如果跟踪是从入口网关启动的,则跟踪id在istio系统本地上可见,当我在集群外部部署zipkin时,它只在我使用节点的端口转发调用系统时注册。您确定入口网关正在向zipkin发送跨距吗?可能它正在传播跟踪上下文,但不知道Zipkin本身?您是否按照istio中所述配置了跟踪采样?当您指向istio系统名称空间中的zipkin时,一切都正常工作?您是否正在使用istio中的zipkin服务,该服务指向跟踪组件。由于istio通常指向zipkin服务,并且服务将指向包含基于Jaeger的API的跟踪pod,请在istio系统名称空间中检查您是否有Jaeger查询服务。尝试将服务向前移植并检查是否有任何跟踪。实际上,我已使用istio系统中部署的zipkin修复了它,但由于某些原因,如果跟踪是从入口网关启动的,则跟踪id在istio系统本地上可见,当我在集群外部部署zipkin时,它只在我使用节点的前向端口调用系统时注册。