Repolode
grafana

grafana/loki

可水平扩展、支持多租户的日志聚合系统,只索引标签而不索引日志内容。

可替代:SplunkDatadog Logs

Star
29,048
Fork
4,146
未关闭 Issue
1,139
最近提交
7小时前

这是什么?

Loki 是一个受 Prometheus 启发的日志聚合系统。它不对每行日志做全文索引,而是保存压缩后的非结构化日志,只为每个日志流索引一组标签。这种设计降低了存储和运维成本,并允许使用与 Prometheus 指标相同的标签模型查询日志。

基于 Loki 的日志栈通常由三个组件构成:Alloy 负责采集日志并发送到 Loki;Loki 负责存储日志和处理查询;Grafana 用于查询和展示日志。Loki 通过推送(push)接收日志,可以以单个二进制文件运行,无需外部依赖。它也很适合存储 Kubernetes Pod 日志,Pod 标签等元数据可被自动抓取并索引。

项目还提供用于查询的 LogCLI 命令行工具、用于检测日志丢失的 Loki Canary,以及可将容器日志直接发送到 Loki 的 Docker 日志驱动插件。开启认证后,还支持多租户运行。

核心功能

  • 01只为每个日志流索引标签集合,而不是索引完整日志内容。
  • 02使用与 Prometheus 相同的标签模型,便于在指标和日志之间切换。
  • 03可以作为无依赖的单个二进制文件运行,也可以部署为可水平扩展的微服务。
  • 04支持多租户部署,并可为每个租户设置运行时覆盖配置。
  • 05自带 LogCLI 查询工具和用于检测日志丢失的 Loki Canary。
  • 06提供 Docker 插件,可将容器日志直接发送到 Loki。

适用场景

  • 使用 Pod 元数据标签采集和查询 Kubernetes 日志。
  • 搭配 Grafana 仪表盘,构建成本可控的集中式日志系统。
  • 借助共享标签,将应用日志与 Prometheus 指标关联分析。
  • 运行多租户日志平台,让不同团队的日志相互隔离。

快速上手

  1. 1

    克隆源代码仓库

    git clone https://github.com/grafana/loki
  2. 2

    进入项目目录

    cd loki
  3. 3

    使用 Go 构建 Loki 二进制文件

    go build ./cmd/loki
  4. 4

    使用本地配置文件运行 Loki

    ./loki -config.file=./cmd/loki/loki-local-config.yaml

使用前须知

  • 从源代码构建需要较新版本的 Go 工具链。
  • Helm 图表的维护将迁移到独立仓库,供非 GEL 用户使用。

标签

常见问题

loki 是什么?
可水平扩展、支持多租户的日志聚合系统,只索引标签而不索引日志内容。 Loki 是一个受 Prometheus 启发的日志聚合系统。它不对每行日志做全文索引,而是保存压缩后的非结构化日志,只为每个日志流索引一组标签。这种设计降低了存储和运维成本,并允许使用与 Prometheus 指标相同的标签模型查询日志。
loki 可以免费使用吗?用的什么许可证?
loki 以 AGPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
loki 还在维护吗?
活跃维护中。loki 最近一次提交是在 2026年10月21日。
loki 适合用来做什么?
使用 Pod 元数据标签采集和查询 Kubernetes 日志。 搭配 Grafana 仪表盘,构建成本可控的集中式日志系统。 借助共享标签,将应用日志与 Prometheus 指标关联分析。 运行多租户日志平台,让不同团队的日志相互隔离。
loki 怎么安装和运行?
克隆源代码仓库: git clone https://github.com/grafana/loki 进入项目目录: cd loki 使用 Go 构建 Loki 二进制文件: go build ./cmd/loki 使用本地配置文件运行 Loki: ./loki -config.file=./cmd/loki/loki-local-config.yaml
在哪里获取 loki?
源代码和安装说明在 GitHub 上:https://github.com/grafana/loki

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目