You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Grafana Tempo多租户的疑问:目标、搜索影响及示例需求

Grafana Tempo多租户机制解析

核心目标

Grafana Tempo的多租户机制本质是解决多团队/多项目共享追踪系统时的数据隔离、权限管控和资源分配问题,具体目标包括:

  • 数据安全隔离:不同租户(比如公司内的不同业务线、外部客户)的追踪数据完全分隔,避免敏感数据泄露或误访问。
  • 资源按需分配:管理员可以为不同租户分配独立的存储、查询资源,防止某个租户的大量追踪数据挤占其他租户的系统资源。
  • 简化运维:无需为每个团队单独部署一套Tempo,通过多租户机制复用一套系统,降低运维成本。
  • 权限精细化管控:可以基于租户维度设置查询、写入权限,比如只允许租户自己的人员查询本租户的追踪数据。

对追踪搜索结果的影响

启用多租户后,追踪搜索的结果会严格绑定到当前租户身份,核心影响有:

  • 数据可见性隔离:每个租户只能查询到自己上报的追踪数据,完全看不到其他租户的链路信息。比如电商租户的运维人员搜索订单相关追踪时,不会出现支付租户的交易链路。
  • 查询自动过滤:在Grafana或Tempo查询API中,系统会自动携带当前租户的标识作为过滤条件,无需手动添加,避免误查询到其他租户数据。
  • 权限拦截:如果租户尝试访问不属于自己的追踪数据(比如通过篡改请求中的租户ID),Tempo会直接返回权限错误,拒绝查询。

简单示例理解

假设公司有两个业务团队:电商团队(租户ID:ecommerce)和支付团队(租户ID:payment),我们通过三个环节看多租户的工作逻辑:

1. 数据上报阶段

使用OpenTelemetry Collector采集追踪数据时,为两个团队的服务分别添加租户标识:

  • 电商团队的Collector配置:
processors:
  attributes:
    actions:
      - key: tenant
        value: ecommerce
        action: insert

service:
  pipelines:
    traces:
      processors: [attributes]
      exporters: [otlp/tempo]
  • 支付团队的Collector配置:
processors:
  attributes:
    actions:
      - key: tenant
        value: payment
        action: insert

service:
  pipelines:
    traces:
      processors: [attributes]
      exporters: [otlp/tempo]

2. 存储阶段

Tempo启用多租户配置后,会将两个租户的追踪数据按租户ID进行逻辑分区存储,彼此完全独立,不会出现数据混合。

3. 查询阶段

  • 电商团队的运维人员在Grafana中查询追踪时,系统会自动注入tenant=ecommerce的查询条件,返回的结果只有电商团队的订单创建、商品库存等链路数据。
  • 支付团队的人员查询时,只能看到支付网关、交易对账等属于payment租户的追踪链路,无法访问电商团队的任何数据。

内容的提问来源于stack exchange,提问作者Mandroid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:46