Loki is an amazing log aggregation tool, and we’ve fully migrated our services here at Vokke. We’re all in. That said, we run Loki and the corresponding Grafana stack on our own infrastructure, and the setup was a little painful, primarily because of a lack of consistent documentation for the most recent version.
So here’s the config that worked for us, using a local MinIO object store. If you need a hand, feel free to email me at [email protected] and I’ve see if I can help!
auth_enabled: falseserver:
http_listen_port: 3100# We needed to increase this to send/receive large messages
grpc_server_max_recv_msg_size: 20971520
grpc_server_max_send_msg_size: 20971520
distributor:
ring:
kvstore:
store: memberlistingester:
wal:
enabled: false
lifecycler:
ring:
kvstore:
store: memberlist
replication_factor: 1
final_sleep: 0s
chunk_idle_period: 5m
chunk_retain_period: 30smemberlist:
abort_if_cluster_join_fails: false# Expose this port on all distributor, ingester
# and querier replicas.
bind_port: 7946# You can use a headless k8s service for all distributor,
# ingester and querier components.
join_members:
- loki:7946max_join_backoff: 1m
max_join_retries: 10
min_join_backoff: 1sschema_config:
configs:
- from: 2020-05-15
store: boltdb-shipper
object_store: s3
schema: v11
index:
prefix: index_
period: 24hstorage_config:
boltdb_shipper:
active_index_directory: /loki/index
cache_location: /loki/index_cache
resync_interval: 5s
shared_store: s3aws:
s3: s3://PASSWORD_HERE:USERNAME_HERE@HOST_HERE/loki-logs
s3forcepathstyle: truelimits_config:
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h