Skip to main content

Grafana Loki Installation Guide

For centralizing log aggregation, execute the following steps to install Grafana Loki version 3.6.11 as a standalone binary.

1. Create System User

Provision an isolated user for the Loki process:

create user:

sudo useradd --no-create-home --shell /bin/false loki

2. Download & Install Binary

Download and extract the Loki binary payload:

install unzip:

sudo apt-get update && sudo apt-get install -y unzip

download loki:

wget https://github.com/grafana/loki/releases/download/v3.6.11/loki-linux-amd64.zip

unzip package:

unzip loki-linux-amd64.zip

output:

Archive: loki-linux-amd64.zip
inflating: loki-linux-amd64

move binary to system path:

sudo mv loki-linux-amd64 /usr/local/bin/loki

set permissions:

sudo chown loki:loki /usr/local/bin/loki

3. Configuration & Data Folders

Create structures for configurations and persistent TSDB indexing:

create directories:

sudo mkdir -p /etc/loki
sudo mkdir -p /var/lib/loki/{chunks,index,rules}

set permissions:

sudo chown -R loki:loki /etc/loki
sudo chown -R loki:loki /var/lib/loki
sudo chmod -R 755 /var/lib/loki

4. Create Loki Configuration File

Create the local configuration pointing to the default daemon port (3100):

create config file:

sudo tee /etc/loki/loki-config.yaml <<EOF
auth_enabled: false

server:
http_listen_port: 3100
grpc_listen_port: 9096

common:
instance_addr: 127.0.0.1
path_prefix: /var/lib/loki
storage:
filesystem:
chunks_directory: /var/lib/loki/chunks
rules_directory: /var/lib/loki/rules
replication_factor: 1
ring:
kvstore:
store: inmemory

query_range:
results_cache:
cache:
embedded_cache:
enabled: true
max_size_mb: 100

schema_config:
configs:
- from: 2020-10-24
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
EOF

set file permissions:

sudo chown loki:loki /etc/loki/loki-config.yaml

5. Systemd Service Unit Definition

Register Loki as a background service:

create service file:

sudo tee /etc/systemd/system/loki.service <<EOF
[Unit]
Description=Grafana Loki Service
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=loki
Group=loki
ExecStart=/usr/local/bin/loki -config.file /etc/loki/loki-config.yaml
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

6. Start & Enable Daemon

Start up the aggregator:

reload systemd:

sudo systemctl daemon-reload

start service:

sudo systemctl start loki

enable service:

sudo systemctl enable loki

Verification

Verify operational connectivity to the Loki API:

check readiness:

curl -G http://localhost:3100/ready

output:

ready