Istio 的采样率如何处理错误?



我关于 Kubernetes 中的 Istio 的问题。我的 Istio 采样率为 1%,但我有错误,不包括在 1% 中。我会在 Jaeger 跟踪中看到此错误吗?

我对 Kubernetes 和 Istio 有点陌生。这就是为什么我不能自己测试的原因。我一直在使用 Istio 的Book Application示例,我想知道我是否会看到未包含在 1% 采样率中的错误跟踪。

安装 Istio 时:

pilot.traceSampling=1

结果想知道我可以看到采样率中未包含的错误。如果不是,如果可能,我如何配置 Istio 以查看它?

如果将采样率设置为 1%,则一旦出现 100 次,Jaeger 就会看到错误。 分布式跟踪 - Jaeger 中提到了这一点:

若要查看跟踪数据,必须向服务发送请求。请求的数量取决于 Istio 的采样率。你在安装 Istio 时设置这个速率。默认采样率为 1%。您需要发送至少 100 个请求才能看到第一个跟踪。若要向productpage服务发送 100 个请求,请使用以下命令:

$ for i in `seq 1 100`; do curl -s -o /dev/null http://$GATEWAY_URL/productpage; done

如果您在当前样本中没有看到错误,我建议将样本提高。

您可以阅读有关 Envoy 正在完成的跟踪上下文传播的信息。 特使自动将跨度发送到跟踪收集器

或者,跟踪上下文可以由服务手动传播:

  • 使用 LightStep 跟踪器时,Envoy 依靠该服务来传播 x-ot-span-context HTTP 标头,同时将 HTTP 请求发送到其他服务。
  • 使用 Zipkin 跟踪器时,Envoy 依靠该服务来传播 B3 HTTP 标头(x-b3-traceid、x-b3-spanid、x-b3-parentspanid、x-b3-sampled 和 x-b3-flags(。外部客户端也可以提供 x-b3 采样标头,以启用或禁用对特定请求的跟踪。此外,支持单个 b3 标头传播格式,这是一种更压缩的格式。
  • 使用 Datadog
  • 跟踪器时,Envoy 依靠该服务来传播特定于 Datadog 的 HTTP 标头( x-datadog-trace-id、x-datadog-parent-id、x-datadog-sampling-priority(。

相关内容

  • 没有找到相关文章

最新更新