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 in C:\tools\loki

Tempo

  • Go to Tempo Releases

  • Download tempo-windows-amd64.exe

  • Rename to tempo.exe and place in C:\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

Default Grafana login: admin / admin


Configure Grafana

  1. Go to http://localhost:3000

  2. Add data sources:

  3. 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.

0
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

Venu Madhav Emmadi
Venu Madhav Emmadi