Saltar a contenido

O4 - Plataforma Definitiva de Observabilidad

Arquitectura objetivo implementada en repo al 2026-06-01.

Objetivo

Consolidar una plataforma que sirva hoy para el VPS actual y mañana para OpenClaw, Orchestrator, WooCommerce, BI, finanzas y multiples nodos sin rediseñar Grafana ni perder historico.

Flujo rector

Grafana -> Thanos Query -> (Thanos Sidecar + Thanos Store Gateway) -> Prometheus + Objstore local

Componentes

  • Prometheus: scrape, reglas y hot data local
  • Thanos Sidecar: expone StoreAPI y sube bloques al objstore
  • Thanos Query: capa unica de consulta para Grafana
  • Thanos Store Gateway: rehidrata historico desde el objstore
  • Thanos Compactor: compacta y aplica retencion al objstore
  • Grafana: visualizacion y carpeta permanente 01-10
  • Alertmanager: notificacion real por SMTP corporativo
  • Node Exporter, cAdvisor, Blackbox Exporter: captura base del host y servicios

Decisiones cerradas

  • Grafana no consulta Prometheus directo
  • el historico se construye desde el primer dia
  • la retencion local de Prometheus queda corta y economica
  • Decision inicial 2026-06-01: Opcion A con historico local persistente en el VPS
  • el volumen obs_thanos_objectstore_data es la verdad historica inicial
  • la organizacion Grafana se versiona en Git
  • secretos y credenciales quedan fuera del repo

Persistencia

  • obs_prometheus_data
  • obs_grafana_data
  • obs_alertmanager_data
  • obs_thanos_storegateway_data
  • obs_thanos_compactor_data
  • obs_thanos_objectstore_data

Objstore inicial

Implementacion inicial cerrada:

  • tipo: FILESYSTEM
  • volumen Docker: obs_thanos_objectstore_data
  • ruta dentro de Thanos: /var/thanos/objstore
  • archivo de config versionado: infra/observability/thanos/filesystem-bucket.yml

Bucket recomendado a futuro

Clase esperada:

  • S3 compatible
  • versionado recomendado
  • credenciales tecnicas dedicadas
  • lifecycle controlado por politicas del proveedor y Thanos Compactor

El repo incluye un ejemplo en: infra/observability/thanos/bucket-config.example.yml

Retencion

  • local Prometheus: 2d y 8GB por default, ajustable por .env
  • Thanos raw: 90d
  • Thanos 5m: 365d
  • Thanos 1h: 1825d

Escalabilidad prevista

Para agregar nuevos nodos o Prometheus:

  1. desplegar exporters o Prometheus adicional
  2. sumar external_labels unicos
  3. conectar su sidecar al mismo bucket
  4. agregar nuevo --store= a thanos-query

Grafana no cambia de arquitectura.

Operacion

  • acceso humano: Grafana por 127.0.0.1:3000 o tunel SSH
  • acceso maquina a maquina: solo obs-observability-internal
  • fuente de dashboards: Git
  • fuente de historico: objstore local de Thanos

Riesgos conocidos

  • si se pierde el VPS sin backup externo reciente, se pierde el historico de Thanos
  • Opcion A no reemplaza un storage externo durable
  • sin secreto SMTP real, Alertmanager no puede enviar correo
  • cAdvisor mantiene mounts sensibles del host
  • la carpeta 03-09 arranca con dashboards semilla y debe poblarse a medida que entren exporters y metricas de negocio