From visualisation tool to ecosystem
When Grafana appeared in 2013, its role was clear: visualise metrics from diverse data sources in composable dashboards. Seven years later, Grafana Labs has built a complete observability ecosystem around that core. The LGTM stack — Loki, Grafana, Tempo, Mimir — covers the three pillars of modern observability: logs, tracing and metrics. These are not separate products assembled after the fact, but components designed with the same architectural philosophy and natively integrated.
Loki: logs without content indexing
Loki is the log aggregation system. Unlike Elasticsearch, Loki does not index the full content of log messages: it indexes only metadata (labels) and compresses raw content into chunks on object storage. This choice drastically reduces storage costs and operational complexity. Queries use LogQL, a language inspired by Prometheus’s PromQL, that allows filtering by label and then searching within content. The trade-off is explicit: slower full-text queries in exchange for a system orders of magnitude cheaper to operate.
Tempo: distributed tracing without sampling
Tempo is the backend for distributed tracing. It supports OpenTelemetry, Jaeger and Zipkin formats, storing complete traces on object storage without requiring ingestion-side sampling. Search works via trace ID or through metrics derived from the traces themselves (TraceQL). Integration with Loki and Grafana allows jumping from a log entry to a trace with a single click, correlating application events with the complete request path.
Mimir: long-term metrics
Mimir is the backend for long-term metrics, compatible with Prometheus. It receives data via remote write from existing Prometheus instances and stores them on object storage with compression and deduplication. The architecture is horizontally scalable: each component — ingester, compactor, querier — can be replicated independently. For organisations with hundreds of Prometheus instances, Mimir solves the problem of long-term retention and cross-cluster querying.
A shared architecture
The distinguishing trait of the LGTM stack is its shared architecture. Loki, Tempo and Mimir all use object storage (S3, GCS, Azure Blob) as their primary persistence layer, reducing dependence on local disks and simplifying operations. All support deployment as a single monolithic binary for small environments or as separate microservices for high-volume production environments. Grafana orchestrates visualisation, allowing correlation of logs, traces and metrics in the same interface.
Link: grafana.com
