Like Prometheus, but for logs.
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream.
Compared to other log aggregation systems, Loki:
A Loki-based logging stack consists of 3 components:
Note that Alloy replaced Promtail in the stack, because Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy.
Loki is like Prometheus, but for logs: we prefer a multidimensional label-based approach to indexing, and want a single-binary, easy to operate system with no dependencies. Loki differs from Prometheus by focusing on logs instead of metrics, and delivering logs via push, instead of pull.
Effective March 16, 2026, the Grafana Loki Helm chart will be forked to a new repository grafana-community/helm-charts. The chart in the Loki repository will continue to be maintained for GEL users only. See #20705 for details.
Commonly used sections:
If you have any questions or feedback regarding Loki:
Your feedback is always welcome.
Refer to CONTRIBUTING.md
Loki can be run in a single host, no-dependencies mode using the following commands.
You need an up-to-date version of Go, we recommend using the version found in our Makefile
# Checkout source code
$ git clone https://github.com/grafana/loki
$ cd loki
# Build binary
$ go build ./cmd/loki
# Run executable
$ ./loki -config.file=./cmd/loki/loki-local-config.yamlAlternatively, on Unix systems you can use make to build the binary, which adds additional arguments to the go build command.
# Build binary
$ make loki
# Run executable
$ ./cmd/loki/loki -config.file=./cmd/loki/loki-local-config.yamlTo run multiple Loki tenants locally, ensure that auth_enabled is set to true and provide a runtime config with any tenant specific overrides.
# Build binary
$ make loki
# Run executable
./loki -config.file=./cmd/loki/loki-local-multi-tenant-config.yaml -runtime-config.file=./cmd/loki/loki-overrides.yamlPlease see ADOPTERS.md for some of the organizations using Loki today. If you would like to add your organization to the list, please open a PR to add it to the list.
Grafana Loki is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.
Dependency Dashboard
Windows: transient TSDB staging-file rename failure aborts WAL recovery
franz-go v1.22.x is not supported in current Warpstream
loki-mixin: log panels select on job and pod, and per_component_label is unused
loki-mixin: LokiCompactorHasNotSuccessfullyRunCompaction is defined twice with identical labels
Force label through HTTP Header
docs(loki): weekly docs triage 2026-09-21 – 2026-09-29 — 5 items
Interpretation of date range in Grafana UI vs query_range API is wrong
Logs are filled with message "WARN Response has supported checksum. Not validating response payload" even log level is error
Docker: use command instead of entrypoint