X-Scope-OrgID
的作用
该HTTP Header用于标识Loki日志数据的所属租户(组织)。在多租户模式下,Loki通过此Header隔离不同团队或用户的数据,确保查询和存储的独立性。
-
数据隔离:
- 租户A的日志标记为
X-Scope-OrgID: team-a
,仅能通过相同Header查询。 - 租户B的数据需匹配
X-Scope-OrgID: team-b
,否则无法访问。
- 租户A的日志标记为
-
权限验证 :
Loki服务可能要求请求携带特定Header值(如
user1
),否则返回403 Forbidden
。
Grafana中的配置方法
在Grafana数据源设置中,需明确指定X-Scope-OrgID
及其值(如user1
):
- 进入Grafana的Data Sources页面,选择Loki数据源。
- 在HTTP 配置部分,添加以下自定义Header:
- Header :
X-Scope-OrgID
- Value :
user1
(根据实际租户名称调整)
- Header :
此配置使Grafana在查询Loki时自动附加该Header,确保返回正确的租户数据。
常见问题与解决
-
查询无数据 :
检查Grafana中
X-Scope-OrgID
的值是否与日志推送时使用的值一致。 -
报错"no org id" :
Loki要求多租户Header但Grafana未配置,需补充Header并重启服务。
-
权限拒绝 :
确认Loki服务端是否启用了
auth_enabled: true
,且Header值符合白名单规则。
总结
X-Scope-OrgID
是Loki多租户功能的核心标识,通过Grafana的正确配置实现:
- 租户数据的精准查询与隔离。
- 基于Header的简易权限控制。
- 避免多团队间的日志混淆。
这一设置是Grafana与Loki协同工作的必要环节,需严格匹配服务端要求。