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