如何配置Grafana Alloy从日志标签动态设置Loki租户ID
配置Grafana Alloy从日志标签动态分配Loki租户ID
核心逻辑
用loki.process的tenant处理阶段,把日志流里environment标签的值提取出来当租户ID,再传给loki.write组件发往多租户Loki集群就行,不用在loki.write里写死静态租户ID。
具体配置示例
完整配置片段
// 假设已经通过filetail、promtail.scrape等组件采集到日志,这里直接处理日志流 loki.process "dynamic_tenant" { forward_to = [loki.write "loki_multitenant"] stage { tenant { source = "environment" // 从environment标签里取租户ID fallback = "default" // 没这个标签时用默认租户,可选配置 } } } loki.write "loki_multitenant" { endpoint { url = "http://你的Loki实例地址:3100/loki/api/v1/push" // 这里不用配tenant_id,loki.process已经自动处理好X-Scope-OrgID请求头 } }
关键配置解释
loki.process的tenant阶段:source填你要提取租户ID的标签名,这里就是environment,完全匹配你的需求fallback是可选的,要是日志里没environment标签,就用这个默认值当租户ID,防止日志丢了
loki.write组件:别加tenant_id参数,loki.process处理后的日志流会自动带上对应的X-Scope-OrgID请求头,发往Loki时会自动路由到对应租户
验证方式
你可以开Alloy的调试日志,看看请求头是不是正确设置了X-Scope-OrgID:
logging { level = "debug" }
调试日志里会显示发往Loki的请求详情,检查里面的租户ID值对不对就行。
内容的提问来源于stack exchange,提问作者Amit Yaari
相关产品推荐
相关产品推荐

