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 框架之上,支持按角色部署,包括用于接收和存储 trace 数据的 collector,以及用于提供 Jaeger UI 和查询 API 的 query。Jaeger ES Rollover 管理 Elasticsearch 索引生命周期操作,例如模板、别名和索引轮转。

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

  • 存储后端:支持的存储后端为 Elasticsearch 8.x,并使用别名和 Index Lifecycle Management(ILM)进行索引 rollover,以实现自动保留和轮转。

  • 采样策略:支持带集中式远程配置的基于头部的采样(静态和自适应两种),以及在 trace 完成后再做采样决策的基于尾部的采样。

  • 服务性能监控(SPM):通过 SpanMetrics Connector 使用 trace 数据计算聚合的 RED 指标(请求速率、错误率、持续时间),以监控服务性能趋势。

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

  • 部署和管理:通过 Kubernetes 上的 OpenTelemetry Operator 部署和管理 Jaeger 实例。支持 web console 和 CLI 两种安装方式,以及用于 pod 调度的 taints 和 tolerations

  • 集成:与 Alauda Build of OpenTelemetry v2 集成,用于遥测数据收集和转发;与 Alauda Service Mesh (Kiali) 集成,用于从 service mesh 控制台打开 trace 数据;并与 Alauda Container Platform 集成,通过 OAuth2 Proxy 进行身份验证。

新功能和增强

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

  • Jaeger v2 架构:追踪后端已基于 OpenTelemetry Collector 框架重构,用统一且可扩展的流水线模型取代了传统的独立组件架构。

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

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

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

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