SuperAPI AI 工具集

tempo

编程与开发

查看项目

更新于 10-15 23:42

技能介绍

用途:本技能是 Grafana Tempo 的实施指南。Tempo 是面向 OpenTelemetry 的高扩展分布式追踪后端,采用 Trace-ID 查找模型,不对每个属性建索引,以保持写入快、存储成本低;原生支持 OTLP,后端使用 S3、GCS 或 Azure Blob 等对象存储,提供受 PromQL/LogQL 启发的 TraceQL 查询语言,默认多租户(通过 X-Scope-OrgID 头隔离)。

主要能力与架构:核心组件包括 Distributor(入口,按 traceID 经一致性哈希环路由)、Ingester(内存缓冲、生成 Parquet 块并刷写存储)、Query Frontend(查询编排与块分片)、Querier(借助布隆过滤器定位数据)、Compactor(压缩、去重、保留策略)以及可选的 Metrics Generator。数据写入路径为应用→Collector→Distributor→Ingester→对象存储;读取路径为查询→Query Frontend→Querier→Ingester/对象存储。

使用方式:支持单体(-target=all)、可扩展单体(-target=scalable-single-binary)与微服务三种部署模式,生产推荐微服务模式。可用 Helm 安装:helm repo add grafana https://grafana.github.io/helm-charts,helm repo update,helm install tempo grafana/tempo-distributed --namespace monitoring --values values.yaml。存储可配置 azure、s3 或 gcs 后端;Azure 推荐 Workload Identity(use_federated_token: true)。接收端点含 OTLP gRPC 4317、OTLP HTTP 4318、Jaeger、Zipkin 9411 等。TraceQL 支持按服务、操作、状态、时长过滤,结构操作符(>、>>、~)及 count、avg、rate、quantile_over_time 等聚合。

适用场景与限制:适合 Kubernetes 上的分布式追踪采集与查询、多租户隔离、低成本长期存储。注意保留策略按租户生效,全局仅为回退;TraceQL 的 {} 是过滤表达式,语义与 PromQL/LogQL 不同;span 默认上限 1 MB,超限会被静默截断;缺失或无效的 X-Scope-OrgID 会落入 fake 租户。其余细节暂未提供。