A log aggregation server that indexes only labels, not log text, for cheaper storage and simpler operations.

29,063
4,158
Go
AGPL-3.0
8 years old

Loki is worth your time if your logs already live in Kubernetes or come from services you monitor with Prometheus and Grafana; skip it if your queries depend on searching arbitrary words inside log lines.

The problem

Before Loki, teams who wanted to collect logs from many hosts usually ran a full-text search cluster, tuned its ingestion, and paid for that indexing with storage and operational effort. With Loki, the workflow becomes: run an agent (Grafana Alloy) to push logs, store compressed log content, and index only the stream labels. Investigation then happens in Grafana, where a query narrows by label first and scans matching log lines second. The result is a logging pipeline that follows the same label vocabulary as your metrics, so you can move between a dashboard and the related logs without inventing a second naming scheme.

What's different

The central mechanism is a deliberate exclusion: Loki does not do full-text indexing on logs. It groups streams by labels, indexes that metadata, and stores the compressed, unstructured content for scanning at query time. That trade makes ingest simpler and reduces the storage footprint relative to indexing every token, which is the project's main economic argument for being "very cost effective and easy to operate." It is also the source of the biggest trade-off: queries that need to find a rare term buried in a huge volume of logs must scan, so label design and query shape matter far more than they do in a full-text engine.

The Prometheus heritage is concrete rather than marketing: the label-based model and the push-based ingestion path are documented differences from Prometheus's pull model. Kubernetes pod logs are a first-class case because pod metadata is scraped and indexed automatically. A stack is three pieces — Alloy as the collecting agent, Loki for storage and querying, and Grafana for the UI — with the API documented for teams that push logs from their own code. One operational wrinkle to note: the project states that Alloy replaced Promtail because Promtail is considered feature complete, and that future log collection work will happen in Alloy. If you have older deployment templates, that is a migration to plan, not a footnote.

Who should try it

A good fit is a platform or SRE team running Kubernetes that already has Grafana dashboards and Prometheus-style labels and needs to retain pod logs without operating a separate search cluster. The label model then does useful work across metrics and logs, and the single-binary no-dependency mode makes local experimentation cheap. A poor fit is a team whose primary use case is ad-hoc full-text search across application logs with little stable metadata, or an organization that cannot take on the AGPL-3.0 licence; LICENSING.md describes the exceptions, and the licence term belongs in the decision, not in a later review.

Teams that don't use Prometheus can still push raw logs after understanding the labels model, but the documented materials assume that mindset, so the learning curve is real for people coming from conventional text-search logging.

Requirements and limitations

The documented setup paths are the install guides, a single-host Go build from source, and a Helm-based Kubernetes deployment. Source builds need a current Go toolchain (the Makefile pins the recommended version), so it is fair to say source builds expect Go knowledge; it is not fair to describe Loki as requiring it, because installing from the published instructions is an alternative path. On Helm, note the announced migration: effective March 16, 2026, the Loki Helm chart forks to grafana-community/helm-charts, while the chart in the Loki repository continues for GEL users only. Teams that deploy with Helm should track that fork before they rely on the in-repo chart's future.

Upgrades are their own ongoing task — the project keeps a dedicated upgrading guide, and the label-first design means schema and stream-label decisions made early are hard to change later. You should also know what to check when logs seem missing: Loki Canary exists to monitor a Loki installation for missing logs, and the troubleshooting guide is a first stop when queries misbehave.

HotRepo's take

HotRepo's coverage is a single recorded date: a Go weekly-board rank of #16 with +28 stars for the week of 2026-10-27. One snapshot cannot establish whether interest is rising, fading or sustained, so read that number as a dated observation rather than momentum. The 2018 Hacker News thread at 444 points is historical discussion volume only, not current evidence of quality. The concrete thing to verify before adopting: whether the Helm fork timeline affects your chosen installation path and who maintains the chart you would depend on.

Hacker News

Grafana Loki – Like Prometheus, but for logs
▲ 444 · 162 comments · December 12, 2018
Loki 3.0.0
▲ 22 · 1 comment · June 3, 2024
Loki 3.0 Released
▲ 5 · 1 comment · April 8, 2024

Written by AI from the project's README, updated October 27, 2026. The project's own docs are the source of truth.