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.
Note
This package is named Loki Distributed because it was created using the upstream chart with the same name.
From version 5.0.0 of the logging module the package has been migrated to use the Loki
chart instead as
upstream.
- Kubernetes >=
1.24.0
- Kustomize >=
v3.10.0
- prometheus-operator from SD monitoring module
- grafana from SD 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