--- title: 使用 Istio 进行分布式追踪需要什么? weight: 10 --- Istio 允许报告服务网格中工作负载到工作负载间通信的追踪 span。然而,为了将各种追踪 span 整合在一起以获得完整的流量图,应用程序必须在传入和传出请求之间传播追踪上下文信息。 特别是,Istio 依赖于应用程序传播 [B3 追踪 headers](https://github.com/openzipkin/b3-propagation) 以及由 Envoy 生成的请求 ID。这些 header 包括: - `x-request-id` - `x-b3-traceid` - `x-b3-spanId` - `x-b3-parentspanid` - `x-b3-sampled` - `x-b3-flags` - `b3` 如果使用 LightStep,您还需要转发以下 header: - `x-ot-span-context` Header 传播可以通过客户端库完成,例如 [Zipkin](https://zipkin.io/pages/tracers_instrumentation.html) 或 [Jaeger](https://github.com/jaegertracing/jaeger-client-java/tree/master/jaeger-core#b3-propagation)。当然,这也可以手动完成,正如[分布式追踪任务](/zh/docs/tasks/observability/distributed-tracing/overview#trace-context-propagation)中所描述的那样。