Saltar a contenido

ADR-0002 · Loki single-binary sobre filesystem con retención de 30 días

  • Estado: aceptado
  • Decisores: Hugo Quintero (único autor del repo)
  • Fecha de la decisión: no registrada. Implementada el 2026-03-24 (commit eb41f8e, "Se agrego Loki para recoleccion y monitoreo de logs").

Contexto y problema

Los logs de las aplicaciones (PM2 del OMS, Laravel del Integrador) se revisaban entrando por SSH a cada servidor. Se necesitaba correlacionar logs con métricas e incidentes en Grafana, con el menor costo operativo posible: una sola VM, sin bucket ni base de datos adicional que mantener.

Opciones consideradas

  1. Loki en modo single-binary (replication_factor: 1, ring en memoria), almacenamiento filesystem en un volumen Docker, retención por compactor.
  2. Loki con object storage (GCS) y componentes separados.
  3. Stack ELK / OpenSearch.

No hay registro escrito de la evaluación.

Decisión

Opción 1, versión fijada grafana/loki:3.0.0, esquema tsdb v13, índice por 24 h, retention_period: 30d con compactor.retention_enabled: true, límites de ingesta 8 MB/s (burst 16 MB). Sin autenticación (auth_enabled: false): la protección la da la capa de exposición pública. Los colectores remotos hacen push por loki.compulandia.com.py; Grafana lo consume como datasource Loki provisionado.

Consecuencias

Positivas

  • Un contenedor y un volumen; sin costos de object storage.
  • Retención automática alineada con la de Prometheus (30 días).
  • Los tableros de incidentes del OMS y del Integrador combinan LogQL y PromQL.

Negativas / deuda asumida

  • Sin réplica: si se pierde el volumen loki_data se pierden los logs. No hay backup del volumen documentado.
  • El disco de la VM devops absorbe todo el crecimiento de logs; solo lo limita retention_period y el rate limit de ingesta. No hay alerta de disco específica para Loki (la regla DiscoCasiLleno cubre la VM si su node_exporter está scrapeado, cosa que hoy no ocurre: la VM devops no figura en cloud-nodes).
  • Sin multi-tenant ni autenticación propia: cualquier cliente que atraviese la capa pública puede escribir.