Saltar a contenido

Loki

Agregador de logs del cluster. Recibe los logs que le envía Alloy (pods + journald de nodos) y los sirve para consulta vía Grafana.

Resumen

Loki en modo single-binary (un único proceso: ingester + querier + compactor), adecuado para el volumen modesto del homelab. Los logs persisten en un PVC de Longhorn con retención de 30 días (a diferencia del Loki legacy, que era efímero en /tmp).

Estado

Campo Valor
Estado Operativo
Argo CD Application loki
Namespace monitoring

Despliegue

Campo Valor
Método Helm chart
Chart / imagen loki@7.3.0 (app 3.6.12)
Origen https://grafana.github.io/helm-charts
Config en el repo clusters/luka/apps/loki/application.yaml

Red

Campo Valor
Service loki (ClusterIP :3100)
IP —
URL interna — (sin HTTPRoute; acceso intra-cluster)
URL externa —
TLS —

Acceso y usuarios

  • Sin autenticación (acceso solo intra-cluster). Las consultas se hacen desde Grafana (datasource Loki).

Configuración

  • deploymentMode: SingleBinary (1 réplica).
  • Retención: limits_config.retention_period: 720h (30d) + compactor.retention_enabled: true
  • compactor.delete_request_store: filesystem (obligatorio al activar retención).
  • auth_enabled: false, replication_factor: 1.
  • Index tsdb con filesystem storage (PVC). chunksCache/resultsCache desactivados.
  • Higiene de logs (reduce el ruido auto-generado, ver runbook del operador):
  • structuredConfig.server.log_level: warn — sin log de cada query.
  • gateway.verboseLogging: false — sin access log nginx de cada push.
  • lokiCanary.extraArgs: ["-interval=1m"] — canary cada minuto en vez de cada segundo.

Almacenamiento

  • PVC Longhorn 10 Gi (single-binary, SC por defecto): index + chunks.

Dependencias

  • Depende de: k3s, Longhorn.
  • Usado por: Alloy (write), Grafana (datasource).

Backup y recuperación

  • Re-desplegable desde Git; los logs no se backupean (retención 30d). Backup off-host a R2: pendiente (posible mejora futura).

Monitorización

  • Pendiente (ServiceMonitor propio del chart, cuando se habilite el scraping de apps).
  • Ruido propio (catalogado): context canceled del querier/scheduler y reached tail max duration limit al cancelar tails de Grafana Live. Cosmético. Consulta y catálogo de ruido: docs/runbooks/operador-plataforma.md.

Referencias

Notas / TODO

  • loki.structuredConfig (no table_manager): la retención en tsdb la aplica el compactor.
  • Sin multi-tenancy ni simple-scalable (YAGNI para el homelab).