Alauda Distributed Tracing v2.0.0

Alauda Distributed Tracing v2.0.0 是 Alauda Distributed Tracing 文档站点首个独立发布的版本。此版本通过 Alauda Build of OpenTelemetry v2 Operator 0.147.0 提供,并与开源 Jaeger 2.16.0 集成。它提供了一个基于 Jaeger v2 构建、可用于生产的分布式追踪解决方案,使团队能够在 Alauda Container Platform 上收集、存储和可视化跨微服务的 trace。

NOTE

仅支持本网站中已文档化的功能。当前不支持未文档化的功能。如果您需要特定功能的帮助,请联系 Alauda support。

支持的功能

  • Jaeger v2 后端:追踪后端基于 OpenTelemetry Collector framework 构建,支持按角色部署,包括用于接收和存储 trace 数据的 collector,以及用于提供 Jaeger UI 和 query APIs 的 query。Jaeger ES Rollover 管理 Elasticsearch 索引生命周期操作,例如 templates、aliases 和索引轮转。

  • 多协议摄取:接受来自多种协议和格式的 trace 数据,包括 OTLP(gRPC 和 HTTP)、Jaeger(gRPC 和 Thrift)、Zipkin(v1 和 v2)以及 Kafka。

  • 存储后端:支持的存储后端为 Elasticsearch 8.x 和 OpenSearch 3.x。Elasticsearch 使用带有 aliases 的 index rollover 和 Index Lifecycle Management (ILM) 进行自动保留和轮转,而 OpenSearch 使用按天基于时间的索引,并通过 jaeger-es-index-cleaner 实现保留。

  • 采样策略:支持带有集中式远程配置(静态和自适应两种)的 head-based sampling,以及在 trace 完成后做出采样决策的 tail-based sampling。

  • 服务性能监控(SPM):使用 SpanMetrics Connector 和兼容 PromQL 的 metrics backend,通过计算 trace 数据中的聚合 RED 指标(Request rate、Error rate、Duration)来监控服务性能趋势。

  • 可观测性和指标:Jaeger v2 和 OpenTelemetry Collector 组件默认暴露 Prometheus metrics,并自动创建 ServiceMonitor 和 PodMonitor,以便与监控栈集成。

  • 部署和管理:Jaeger 实例通过 Kubernetes 上的 OpenTelemetry Operator 进行部署和管理。支持 Web 控制台和 CLI 安装方式,同时支持 taints and tolerations 用于 Pod 调度。

  • 集成:与 Alauda Build of OpenTelemetry v2 集成,用于遥测数据采集和转发;与 Alauda Service Mesh (Kiali) 集成,可从 service mesh 控制台打开 trace 数据;并通过 OAuth2 Proxy 与 Alauda Container Platform 集成以实现认证。

新功能和增强

此版本引入了以下关键能力:

  • Jaeger v2 架构:追踪后端已基于 OpenTelemetry Collector framework 重新构建,以统一且可扩展的 pipeline model 替代了传统的独立组件架构。

  • 统一的 Operator 管理:Jaeger 实例通过 OpenTelemetry Operator 进行部署和管理,为追踪基础设施和遥测采集基础设施提供单一控制平面。

  • Elasticsearch Index Lifecycle Management:通过 Jaeger ES Rollover 实现自动索引轮转和生命周期管理,借助可配置的轮转策略和自动索引清理,实现高效的长期 trace 数据保留。

  • 服务性能监控:SPM 功能通过 SpanMetrics Connector 从 span 数据中计算聚合 RED 指标,并在 Jaeger UI 中提供专用的 Monitor 选项卡,用于跟踪服务性能趋势随时间的变化。

  • 多协议 trace 摄取:平台可同时接受来自 OTLP、Jaeger、Zipkin 和 Kafka 协议的 trace 数据,从而能够在不中断现有数据流的情况下,逐步从现有埋点迁移。