GKE 堆栈驱动程序跟踪报告 按集群 按环境 按服务 按服务版本

GKE Stack Driver Trace Reporting By Cluster By Environment By Service By Service Version

我们有多个 spring 启动和 python 应用程序 运行 在 GKE 之上,spring 启动应用程序正在使用 spring-cloud-gcp -starter-trace 将跟踪记录到堆栈驱动程序,以便我可以通过堆栈驱动程序调试这些跟踪 UI。

我无法弄清楚如何添加像 service_name、service_version 和 cluster_name 这样的标签,这样我就可以只过滤掉那些用于报告目的的痕迹,因为现在我们有istio 配置在一个集群上,即使采样率为百分之一,它也会生成大量遥测数据,并且由于过滤器不可用或缺少某些配置,跟踪 UI 对我来说几乎变得无用了

我查看了 spring-cloud-gcp-starter-trace 的文档,它们没有任何我可以设置这些字段的属性,我正在设置应用程序名称和应用程序版本kubernetes 部署模板的元数据标签,但没有被拾取。

谁能告诉我如何实现这一点。

如果您使用的是 OpenCensus,则可以使用注释将元数据传递到 Trace 后端: https://cloud.google.com/trace/docs/setup/java#custom_spans

但是,我在 spring-cloud-gcp-starter-trace 文档(我能找到的很少)中没有看到任何关于注释的内容。

您可以使用 brave.SpanCustomizer 添加自定义标签。只需自动装配它,因为该 bean 已经存在于应用程序上下文中。 然后您可以像这样添加标签:

@Autowired
SpanCustomizer spanCustomizer;

...

spanCustomizer.tag("my-tag", "my tag value");

这些将变成您在 Stackdriver Trace 中跟踪的标签,您可以在上面 search