Loki Distributed
Loki is a horizontally scalable, highly available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate. It does not index the contents of the logs, but rather a set of labels for each log stream.
Requirements
- Kubernetes >= 1.24.0
- Kustomize >= v3.10.0
- prometheus-operator from KFD monitoring module
- grafana from KFD monitoring module (module version >=1.15.0)
- minio-ha
Prometheus Operator is necessary since we configure a
ServiceMonitorto make some metrics available fromlokion prometheus
Image repository and tag
- Loki image: grafana/loki
- Loki repo: Loki on Github
Configuration
Loki Distributed is deployed in the following configuration:
- Each microservice has its own Deployment/StatefulSet
- Each Deployment has its own HPA
- Common resources set as:
resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 500m
    memory: 1024Mi
Deployment
You can deploy Loki Distributed by running the following command in the root of the project:
kustomize build | kubectl apply -f -
This project also implements a dynamic Loki datasource that our Grafana from the monitoring stack automatically fetches and configures. To see the logs, navigate in Grafana to the explore section.
Note: These instructions are only for installing Loki as a log storage solution. For complete instructions, please refer to the main README of the Logging module.