产品派
返回

Tempo 3.1增强追踪脱敏与采样指标查询能力

后端InfoQ 中文站2026/10/29 12:03:07
AI 导读

Grafana Labs发布Tempo 3.1,这是基于3.0架构的首个小版本更新。新版本为Kafka客户端加入TLS、可选mTLS及多种SASL机制,支持通过TraceQL筛选并脱敏追踪数据,实验性采样校正提示可修正指标结果,vParquet5也成为默认块格式。官方称,简单指标查询速度接近原来的两倍。

Tempo 3.1延续6月发布的3.0,并将代号Rhythm的Kafka兼容架构设为微服务部署默认方案:分发器写入Kafka,块构建器和实时存储分别订阅主题,将数据写入对象存储或提供最新追踪数据;原Ingester与Compactor改由调度器和Worker替代。复制因子从3降至1时,存储开销可由追踪数据量的3至3.5倍降为一份副本,单体模式仍不使用Kafka。

由于Kafka成为关键路径,3.1补足了安全与部署选项,包括SCRAM-SHA-256、SCRAM-SHA-512、OAUTHBEARER和AWS_MSK_IAM认证,以及client_rack机架感知读取,可优先从同一可用区副本取数,减少跨区费用;该功能要求Broker配置机架ID。producer_compression支持none、gzip、snappy、lz4和zstd,默认snappy,配合TLS后可将Azure Event Hubs作为后端。上述改动均来自社区贡献。

3.1将tempo-cli redact从逐个输入追踪ID扩展为TraceQL查询,并提供--dry-run统计匹配项而不修改数据。查询仅允许一个Span集过滤器,可对resource.*和span.*属性做等值判断,并使用&&、||;--start和--end可限定时间范围。脱敏期间目标租户的压缩会暂停,且只有所有调度器和Worker升级后,时间窗口参数才安全可用,否则旧Worker会忽略窗口并处理每个数据块。

TraceQL指标新增(extrapolate=true)实验提示,可按tracestate采样率放大结果:50%采样时每个Span计为2,未记录采样率则计为1,适用于rate、count_over_time、sum_over_time、avg_over_time、histogram_over_time、quantile_over_time和compare,不适用于min_over_time、max_over_time。该能力要求vParquet4以上,并与3.0的metrics-generator设置保持一致;指标与标量现支持加减乘除,vParquet5默认启用“仅Span”路径,预热测试中{ } | rate()耗时略超原来一半。

其他更新包括trace-by-ID v2的实验性Span裁剪和TraceQL过滤:相似叶节点可合并为带计数、时长统计的汇总Span。新增POST /api/v2/traces/diff可比较两条追踪并返回紧凑摘要,功能已通过gcx、tempo-cli和Tempo MCP服务器提供,较小载荷便于LLM辅助调查。指标生成器还新增过期服务图边的unmatched_span_kind标签、支持重命名的OpenTelemetry db.system.name属性及标签缓冲池;基准测试显示其将服务图每个Span的内存分配降为零。

Grafana Tempo分布式追踪TraceQLKafka可观测性

本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。

阅读原文