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-charts https://grafana.github.io/helm-charts/
helm install loki grafana-charts/loki -f values.yaml
See examples from other people.
Name | Repo | Stars | Version | Timestamp |
---|---|---|---|---|
loki | bjw-s/home-ops | 277 | 4.8.0 | 4 days ago |
loki | carpenike/k8s-gitops | 143 | 4.8.0 | 5 days ago |
loki | auricom/home-ops | 74 | 4.8.0 | 6 days ago |
loki | brettinternet/homelab | 82 | 3.2.0 | 9 days ago |
loki | 0dragosh/homelab | 45 | 4.8.0 | 11 days ago |
See the most popular values for this chart:
Key | Types |
---|---|
boolean | |
boolean | |
boolean | |
string | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
boolean | |
string | |
string | |
string | |
boolean | |
test.enabled (36) false | boolean |
boolean | |
gateway.ingress.hosts[].host (32) loki.${SECRET_DOMAIN} | string |
string | |
string | |
string | |
gateway.ingress.tls[].hosts[] (32) - loki.${SECRET_DOMAIN} | string |
string | |
string | |
gateway.ingress.annotations."nginx.ingress.kubernetes.io/whitelist-source-range" (6) 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
| string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
gateway.affinity (8) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.gatewaySelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
gateway.image.registry (8) ghcr.io | string |
gateway.image.repository (8) nginxinc/nginx-unprivileged | string |
gateway.image.tag (8) 1.23-alpine | string |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
write.persistence.storageClass (34) ceph-block | string |
string | |
boolean | |
number | |
write.affinity (8) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.writeSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
number | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
string | |
string | |
number | |
boolean | |
string | |
loki.structuredConfig.compactor.working_directory (33) /var/loki/boltdb-shipper-compactor | string |
string | |
string | |
number | |
number | |
boolean | |
string | |
boolean | |
string | |
string | |
string | |
number | |
number | |
boolean | |
string | |
string | |
number | |
string | |
number | |
number | |
number | |
loki.structuredConfig.memberlist.join_members[] (33) - loki-memberlist | string |
boolean | |
loki.structuredConfig.ruler.alertmanager_url (32) http://kube-prometheus-stack-alertmanager:9093 | string |
boolean | |
string | |
loki.structuredConfig.ruler.rule_path (32) /tmp/scratch | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
loki.structuredConfig.schema_config.configs[].store (33) boltdb-shipper | string |
number | |
number | |
string | |
number | |
number | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
number | |
number | |
number | |
string | |
string | |
boolean | |
boolean | |
boolean | |
number | |
string | |
boolean | |
string | |
boolean | |
number | |
string | |
loki.storage.type (5) filesystem | string |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
number | |
string | |
string | |
string | |
read.extraVolumes[].configMap.name (7) loki-alerting-rules | string |
string | |
string | |
string | |
read.persistence.storageClass (30) ceph-block | string |
string | |
boolean | |
read.affinity (8) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.readSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
number | |
backend.extraVolumeMounts[].mountPath (25) /rules/fake | string |
backend.extraVolumeMounts[].name (25) rules | string |
backend.extraVolumes[].name (25) rules | string |
backend.extraVolumes[].configMap.name (14) loki-alerting-rules | string |
string | |
string | |
string | |
backend.persistence.storageClass (24) ceph-block | string |
string | |
backend.affinity (6) podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
labelSelector:
matchLabels:
{{- include "loki.backendSelectorLabels" . | nindent 12 }}
topologyKey: kubernetes.io/hostname
| string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
config.storage_config.aws.access_key_id (7) ${SECRET_MINIO_ACCESS_KEY} | string |
config.storage_config.aws.secret_access_key (7) ${SECRET_MINIO_SECRET_KEY} | string |
string | |
string | |
string | |
boolean | |
string | |
boolean | |
string | |
string | |
config.storage_config.boltdb_shipper.active_index_directory (10) /data/loki/index | string |
config.storage_config.boltdb_shipper.cache_location (10) /data/loki/index_cache | string |
boolean | |
boolean | |
string | |
number | |
number | |
config.ruler.alertmanager_url (7) http://prometheus-alertmanager:9093 | string |
boolean | |
string | |
config.ruler.rule_path (7) /tmp/scratch | string |
string | |
string | |
string | |
boolean | |
boolean | |
config.schema_config.configs[].from (3) 2020-10-24 | string |
string | |
string | |
string | |
string | |
config.schema_config.configs[].store (3) boltdb-shipper | string |
boolean | |
string | |
string | |
string | |
string | |
string | |
number | |
boolean | |
number | |
string | |
string | |
number | |
string | |
number | |
boolean | |
image.repository (8) ghcr.io/k8s-at-home/loki | string |
string | |
string | |
boolean | |
ingress.hosts[].host (6) loki.${SECRET_DOMAIN} | string |
string | |
string | |
ingress.tls[].hosts[] (6) - loki.${SECRET_DOMAIN} | string |
string | |
string | |
ingress.annotations."cert-manager.io/cluster-issuer" (3) letsencrypt-production | string |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
boolean | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
number | |
string | |
number | |
number | |
string | |
string | |
string | |
number | |
number | |
string | |
string | |
string | |
string | |
string | |
string | |
string | |
boolean | |
string | |
string | |
boolean | |
boolean | |
number | |
boolean | |
number | |
string | |
string | |
string | |
number | |
string | |
string | |
string | |
string | |
string | |
string |