Setting Up LGTP Stack (Loki, Grafana, Tempo, Prometheus) on Windows


Monitoring and observability have become essential in modern development. If you're looking to run the LGTP stack on your Windows laptop for local testing or learning, this guide walks you through each step—no Docker required!
Prerequisites
Before we begin, make sure:
You're on Windows 10/11
You have Git, PowerShell, and a modern browser
You’ve installed the OpenTelemetry Collector (optional, for pushing metrics/logs/traces to Prometheus, Loki, and Tempo)
Step-by-Step Setup
1. Download Binaries
Grafana
Go to Grafana Download
Select Windows and download the ZIP
Extract and keep it in a path like
C:\tools\grafana
Prometheus
Download from: Prometheus Releases
Choose
prometheus-<version>.windows-amd64.zip
Extract and keep it in
C:\tools\prometheus
Loki
Visit: Loki Releases
Download the latest
loki-windows-amd64.exe
Rename to
loki.exe
and place it inC:\tools\loki
Tempo
Go to Tempo Releases
Download
tempo-windows-amd64.exe
Rename to
tempo.exe
and place inC:\tools\tempo
2. Create Configuration Files
Create config files in respective folders:
prometheus.yml
(for Prometheus)
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
loki-config.yaml
(for Loki)
auth_enabled: false
server:
http_listen_port: 3100
ingester:
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
final_sleep: 0s
schema_config:
configs:
- from: 2023-01-01
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage_config:
boltdb_shipper:
active_index_directory: C:/tools/loki/index
cache_location: C:/tools/loki/cache
shared_store: filesystem
filesystem:
directory: C:/tools/loki/chunks
limits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
tempo-config.yaml
(for Tempo)
auth_enabled: false
server:
http_listen_port: 3200
distributor:
receivers:
jaeger:
protocols:
grpc:
thrift_binary:
thrift_compact:
thrift_http:
otlp:
protocols:
grpc:
http:
storage:
trace:
backend: local
local:
path: C:/tools/tempo/traces
3. Run Each Component
Open separate PowerShell windows for each service:
Start Prometheus
cd C:\tools\prometheus
.\prometheus.exe --config.file=prometheus.yml
Start Loki
cd C:\tools\loki
.\loki.exe --config.file=loki-config.yaml
Start Tempo
cd C:\tools\tempo
.\tempo.exe --config.file=tempo-config.yaml
Start Grafana
cd C:\tools\grafana\bin
.\grafana-server.exe
Access the Interfaces
Component | URL |
Grafana | http://localhost:3000 |
Prometheus | http://localhost:9090 |
Loki API | http://localhost:3100 |
Tempo API | http://localhost:3200 |
Default Grafana login: admin / admin
Configure Grafana
Go to http://localhost:3000
Add data sources:
Prometheus (http://localhost:9090)
Loki (http://localhost:3100)
Tempo (http://localhost:3200)
Import community dashboards or build your own.
Summary
You now have LGTP stack running on your Windows laptop—great for testing, exploring observability, and learning Prometheus queries or tracing flows with Tempo.
Subscribe to my newsletter
Read articles from Venu Madhav Emmadi directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
