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.
- 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
ServiceMonitor
to make some metrics available fromloki
on prometheus
- Loki image:
grafana/loki
- Loki repo: Loki on Github
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
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.
For license details please see LICENSE