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

Grafana Mimir开源版如何创建默认租户以外的新租户?

Grafana Mimir开源版多租户配置方案

一、开源版支持情况说明

Grafana Mimir开源版原生支持多租户功能,核心通过租户ID(Tenant ID)实现数据隔离,所有写入、查询请求均需携带租户ID标识完成校验。

二、基于现有MTLS环境的租户配置步骤

1. 配置mimir-gateway提取租户ID

mimir-gateway作为入口服务,负责从客户端证书中提取租户ID并注入请求头,转发给后端组件。修改gateway配置文件:

gateway:
  server:
    http_listen_port: 8080
    tls_config:
      cert_file: /path/to/gateway-cert.pem
      key_file: /path/to/gateway-key.pem
      client_ca_file: /path/to/ca-cert.pem
      client_auth_type: RequireAndVerifyClientCert

  tenant_id:
    source: "certificate"
    certificate_field: "common_name" # 从客户端证书的CN字段提取租户ID,也可使用subject_alt_name等字段
    # 可选:字段映射规则,比如将证书CN的"agent-tenant1"映射为"tenant1"
    # mappings:
    #  - source_value: "agent-tenant1"
    #    target_tenant_id: "tenant1"

2. 后端Mimir组件启用多租户校验

所有后端核心组件(distributor、ingester、querier、store-gateway等)需开启多租户验证,以distributor为例:

distributor:
  multitenancy_enabled: true # 强制开启多租户校验
  # 可选:限制允许的租户ID列表,拦截非法租户请求
  # allowed_tenant_ids:
  #   - "tenant1"
  #   - "tenant2"

其他组件需同步设置multitenancy_enabled: true。

3. 为新租户生成专属客户端证书

每个租户对应独立的客户端证书,将证书CN字段设为租户ID。示例生成命令:

# 生成租户tenant1的私钥
openssl genrsa -out tenant1-key.pem 2048
# 生成CSR,CN指定为tenant1
openssl req -new -key tenant1-key.pem -out tenant1-csr.pem -subj "/CN=tenant1"
# 用CA签署证书
openssl x509 -req -in tenant1-csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out tenant1-cert.pem -days 365

4. 配置Grafana Agent使用租户证书写入

修改Agent配置,指定对应租户的客户端证书,确保写入请求携带正确租户标识:

metrics:
  wal_directory: /var/lib/grafana-agent/wal
  configs:
    - name: tenant1-metrics
      remote_write:
        - url: https://mimir-gateway:8080/api/v1/push
          tls_config:
            cert_file: /path/to/tenant1-cert.pem
            key_file: /path/to/tenant1-key.pem
            ca_file: /path/to/ca-cert.pem

三、查询请求的租户ID验证

  • Grafana数据源配置:在Mimir数据源的「Custom HTTP Headers」中添加X-Scope-OrgID: 目标租户ID
  • curl查询示例:
curl -H "X-Scope-OrgID: tenant1" https://mimir-gateway:8080/api/v1/query -d 'query=up'

四、可选:API密钥方式的租户认证

若需替代MTLS,可通过API密钥映射租户ID,修改gateway配置:

gateway:
  tenant_id:
    source: "header"
    header_name: "X-API-Key"
    mappings:
      - source_value: "tenant1-secret-key"
        target_tenant_id: "tenant1"
      - source_value: "tenant2-secret-key"
        target_tenant_id: "tenant2"

请求时携带X-API-Key: tenant1-secret-key即可映射到对应租户。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 14:46:19