Loki¶
Loki is a log aggregation system designed for efficiency, storing log streams with minimal indexing overhead. It runs in single-binary mode for simplicity in this homelab deployment.
Details¶
| Field | Value |
|---|---|
| Chart | loki |
| Repository | https://grafana.github.io/helm-charts |
| Version | 6.55.0 |
| Namespace | monitoring (CreateNamespace=true) |
| Sync Wave | -1 |
Key Configuration¶
- Deployment mode:
SingleBinarywith 1 replica - Authentication: Disabled (
auth_enabled: false) - Replication factor: 1
- Schema: v13 with TSDB store, filesystem-based
object_store, and a 24-hour index period - Retention: 168 hours (7 days)
- Storage: 10Gi PVC using the
nfs-clientStorageClass - Caches: Both
chunksCacheandresultsCacheare disabled (not needed at homelab scale) - Gateway: Disabled
- Backend/read/write replicas: 0 (all handled by the single binary)
- Resources:
- Requests: 100m CPU, 256Mi memory
- Limits: 512Mi memory
Cluster Integration¶
Loki receives log streams from Alloy (deployed at sync wave 0), which runs as a DaemonSet and ships pod logs from every node.
Grafana (part of kube-prometheus-stack) has Loki pre-configured as a data source at:
http://loki.monitoring.svc.cluster.local:3100
Users query logs through Grafana Explore using LogQL.
Loki deploys at sync wave -1 alongside the rest of the monitoring stack. Alloy, which depends on Loki being available, deploys at wave 0.