Loki 把“日志”重新定义成一组带标签的流,而不是全文索引库:它只索引标签,正文压缩后落到对象存储。这个取舍让存储成本大幅下降,也把压力从“写索引”转移到了“标签设计与查询范围控制”上。本页不重复官方安装步骤,而是从极客运维的日常视角,梳理采集链路怎么分层、标签怎么定、查询怎么不把集群拖垮、告警怎么收敛,以及和 Prometheus、Grafana 组成可观测闭环时的边界在哪里。
常见做法是在每台节点上跑一个轻量采集器(Promtail 或 Alloy),只负责发现日志文件、打上少量静态标签后推送;Loki 的 distributor 做校验与分片,ingester 在内存中聚合 chunk,最终 flush 到对象存储。分层之后,节点侧不承担解析与富化,减少了故障面。
Loki 的查询性能几乎完全由标签选择器决定。把请求 ID、用户 ID、时间戳这类高基数字段塞进标签,会直接把索引撑爆;正确做法是它们留在日志正文里,靠过滤表达式在查询阶段处理。