Loki is a log aggregation system that aggregates logs from various sources, such as Kubernetes, and makes them available for search and analysis. It uses a label-based approach to categorize logs, making it easy to query and retrieve relevant logs. The system is designed to be horizontally scalable, highly available, and multi-tenant, making it suitable for use in a variety of environments, including home labs.
Install with:
helm repo add grafana https://grafana.github.io/helm-charts/
helm install loki grafana/loki -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
loki | coolguy1771/home-ops | 39 | 5.39.0 | 2 days ago |
loki | truxnell/home-cluster | 146 | 5.39.0 | 3 days ago |
loki | Pumba98/flux2-gitops | 33 | 5.39.0 | 4 days ago |
loki | auricom/home-ops | 124 | 5.39.0 | 5 days ago |
loki | szinn/k8s-homelab | 94 | 5.39.0 | 5 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
test.enabled (61) false | boolean |
write.persistence.storageClass (55) local-path | string |
string | |
number | |
write.affinity (21) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.writeSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
string | |
boolean | |
number | |
number | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
number | |
string | |
number | |
number | |
number | |
boolean | |
boolean | |
string | |
number | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
loki.structuredConfig.memberlist.join_members[] (52) - loki-memberlist | string |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
string | |
string | |
string | |
boolean | |
string | |
loki.structuredConfig.compactor.working_directory (51) /var/loki/boltdb-shipper-compactor | string |
string | |
string | |
number | |
string | |
string | |
string | |
number | |
number | |
number | |
loki.structuredConfig.ruler.alertmanager_url (51) http://kube-prometheus-stack-alertmanager:9093 | string |
boolean | |
boolean | |
string | |
loki.structuredConfig.ruler.rule_path (49) /tmp/scratch | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
loki.structuredConfig.schema_config.configs[].store (51) boltdb-shipper | string |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
number | |
number | |
string | |
string | |
number | |
string | |
string | |
number | |
number | |
boolean | |
boolean | |
boolean | |
number | |
string | |
boolean | |
string | |
string | |
loki.storage.type (11) filesystem | string |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
number | |
string | |
string | |
number | |
number | |
boolean | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
number | |
boolean | |
boolean | |
string | |
string | |
number | |
boolean | |
string | |
string | |
boolean | |
number | |
string | |
number | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
gateway.ingress.hosts[].host (50) loki.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
gateway.ingress.tls[].hosts[] (50) - loki.${SECRET_DOMAIN} | string |
string | |
string | |
gateway.ingress.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (14) 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
| string |
gateway.ingress.annotations."cert-manager.io/cluster-issuer" (7) letsencrypt-production | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
gateway.image.registry (32) ghcr.io | string |
gateway.image.repository (17) nginxinc/nginx-unprivileged | string |
gateway.image.tag (17) 1.25-alpine | string |
boolean | |
gateway.affinity (19) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.gatewaySelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
number | |
backend.persistence.storageClass (48) local-path | string |
string | |
backend.extraVolumeMounts[].mountPath (36) /rules/fake | string |
backend.extraVolumeMounts[].name (36) rules | string |
backend.extraVolumes[].name (35) rules | string |
backend.extraVolumes[].configMap.name (30) loki-alerting-rules | string |
backend.affinity (20) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.backendSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
number | |
read.persistence.storageClass (43) local-path | string |
string | |
string | |
string | |
string | |
read.extraVolumes[].configMap.name (4) loki-alerting-rules | string |
read.affinity (20) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.readSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
config.storage_config.boltdb_shipper.active_index_directory (4) /data/loki/index | string |
config.storage_config.boltdb_shipper.cache_location (4) /data/loki/index_cache | string |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
number | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
string | |
string | |
number | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
sidecar.image.repository (4) ghcr.io/kiwigrid/k8s-sidecar | string |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
number | |
string | |
number | |
string | |
number | |
number | |
boolean | |
string | |
boolean | |
boolean | |
number | |
boolean | |
number | |
string |