- Log aggregation system. Like Prometheus, but for logs
- Repo: https://github.com/grafana/loki
Monday, 23 February 2026
Introduction to Grafana Loki
Friday, 20 February 2026
Grafana Observability Stack
How Grafana UI relates to them
- It connects to Loki, Tempo, Mimir (and many others) as data sources.
- For each backend you configure:
- A Loki data source for logs.
- A Tempo data source for traces.
- A Prometheus/Mimir data source for metrics (Mimir exposes a Prometheus‑compatible API).
- Grafana then lets you:
- Build dashboards and alerts from Mimir metrics.
- Explore logs from Loki.
- Explore traces from Tempo and cross‑link them with logs/metrics (e.g., click from a log line to a trace, or from a metrics graph into logs/traces).
Are they deployed in the same Kubernetes cluster?
- Very common: deploy Loki, Tempo, Mimir, Alloy, and Grafana in the same Kubernetes cluster as your apps. This is the typical “in‑cluster LGTM” setup; all telemetry stays inside the cluster and traffic is simple.
- Also common: run them in a separate observability cluster (or use Grafana Cloud backends), while Alloy/agents run in each workload cluster and ship data over the network. This improves isolation and makes it easier to share one observability stack across many clusters.
- In smaller setups or dev environments, everything (apps + LGTM + Grafana) often lives in one cluster; in larger/regulated setups, people tend to separate “workload clusters” and an “observability cluster”.
Why not using elasticsearch instead of loki, tempo and mimir?
1. Scope: logs vs full observability
- Loki → logs
- Tempo → traces
- Mimir → metrics
2. Logs: Loki vs Elasticsearch
- Very powerful full‑text search, fuzzy matching, relevance scoring, complex aggregations.
- Good when you need deep forensic search and advanced analytics on log text.
- Stores logs as compressed chunks plus a small label index, so storage and compute are much cheaper than Elasticsearch for typical Kubernetes logs.
- Very tight integration with Grafana and the rest of LGTM, and simple, label‑based querying.
3. Traces and metrics: Tempo & Mimir vs “just ES”
- Implements distributed tracing concepts (spans, traces, service graphs) and OpenTelemetry/Jaeger/Zipkin protocols; the data model and APIs are specialized for traces.
- Elasticsearch can store trace‑like JSON documents, but you’d have to build/maintain all the trace stitching, UI navigation, and integrations yourself.
- Is a horizontally scalable, Prometheus‑compatible time‑series database, with native remote‑write/read and PromQL semantics.
- Elasticsearch can store time‑stamped metrics, but you lose Prometheus compatibility, PromQL semantics, and the whole ecosystem that expects a Prometheus‑style API.
4. Cost, complexity, and operational burden
- More RAM/CPU per node, careful shard and index management, and capacity planning.
- Storage overhead from full‑text indexes (often 1.5–3× raw log size plus replicas).
- Are designed for object storage, compression, and label‑only indexing, which dramatically lowers storage and compute requirements for logs and metrics.
- Have simpler, well‑documented reference architectures specifically for observability.
5. When Elasticsearch still makes sense
- You already have a strong ELK stack and team expertise.
- Your primary need is deep, flexible text search and analytics over logs, with less emphasis on Prometheus/OTel ecosystems.
- You want Elasticsearch’s ML/anomaly‑detection features and are willing to pay the operational cost.
Tuesday, 14 May 2024
Introduction to Grafana
What is Grafana?
- Web application for:
- analytics
- interactive visualization - often a component in monitoring stacks in combination with:
- time series databases:
- InfluxDB
- Prometheus
- Graphite
- monitoring platforms:
- Sensu
- Icinga
- Checkmk
- Zabbix
- Netdata
- PRTG
- SIEMs (Security Information and Event Management - collects logs and events, normalizing this data for further analysis that can manifest as visualizations, alerts, searches, reports, and more.):
- Elasticsearch
- Splunk
- other data sources.
- Produces charts, graphs, and alerts for the web when connected to supported data sources
- Multi-platform
- Microsoft Windows
- Linux
- macOS
- Licenses:
- open source
- licensed Grafana Enterprise
- additional capabilities
- sold as a self-hosted installation or through an account on the Grafana Labs cloud service
- Expandable through a plug-in system
- Complex monitoring dashboards can be built via interactive query builders
How to start with Grafana Web Application?
- Dashboards
- for data visualization
- can be grouped into folders
- Playlists
- groups of dashboards that are displayed in a sequence
- they can be used to cycle dashboards on TVs without user control
- Snapshots
- interactive, publicly available, point-in-time representations of dashboards
- Library panels
- Reusable panels that can be added to multiple dashboards
How to create a new Dashboard?
We can add a visualisation by selecting a data source and then querying and visualising data with charts, stats and tables or by creating lists, markdowns and other widgets.
There is also a drop-down menu in the context of the dashboard, with the same content:
Adding a visualization actually adds a new panel:
We can toggle a Table view and see data points as rows in a table instead of the graph:
In the right-hand side panel we can choose Visualisation type:
For example, Bar chart would look like this:
Suggestions tab show thumbnails for various visualisations:
Related panels can be grouped into rows.
How to use Amazon CloudWatch as Grafana data source?
Grafana admin can create a new Amazon CloudWatch data source by specifying the following:
How to migrate a dashboard from one to another instance of Grafana?
Click on Share icon which is to the right of the dashboard name:
Click on Export tab and tick Export for sharing externally checkbox:
Save the file. In another Grafana instance, click the Import button:
Make sure you select the correct data source (which needs to be set up in the same way as corresponding data source in the origin Grafana instance):















