Files
fleet_monitoring/project.md
T

2.6 KiB

name, description, tags, repo_url
name description tags repo_url
fleet_monitoring Monitorización de toda la flota de equipos (PCs locales, VPS y móviles Termux): un agente Go ligero por nodo empuja métricas de sistema a VictoriaMetrics y se visualizan en Grafana.
monitoring
fleet-metrics
grafana
victoriametrics
infra
https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/dataforge/fleet_monitoring

fleet_monitoring

Sistema de monitorización tipo conky pero centralizado para todos los equipos del ecosistema.

Arquitectura

  nodo (lucas, magnus, datardos, layla, homer, …)
    └─ metrics_agent (binario Go)
         recolecta CPU/RAM/swap/disco/red/temp/procesos cada N s
         └─ push HTTPS (basic auth)
              ▼
  magnus (hub central, sin docker, todo systemd detrás de Caddy)
    ├─ VictoriaMetrics  127.0.0.1:8428   (TSDB, retención 12 meses)
    │     ingesta pública: https://metrics-<hash>.organic-machine.com/api/v1/import/prometheus
    └─ Grafana          127.0.0.1:3001   (dashboards)
          https://grafana-<hash>.organic-machine.com

El agente es push (no pull): cada nodo empuja sus métricas al hub. Esto atraviesa NAT (móvil Termux, LAN doméstica) sin necesidad de abrir puertos en cada nodo y escala a N equipos sin tocar la config central — basta desplegar el agente con su node y el endpoint.

Nodos

node qué es acceso estado
lucas PC local (Linux nativo) local objetivo fase 1
magnus VPS organic-machine (hub) ssh om objetivo fase 1
datardos VPS ssh dd objetivo fase 1
layla móvil Android (Termux) vía WireGuard/bastión fase posterior (cross-build arm64)
homer servidor (registrado en el VPS) pendiente fase posterior

Componentes

  • apps/metrics_agent/ — el agente Go que corre en cada nodo. Compone las funciones del registry del grupo fleet-metrics (collect_host_metrics, format_prom_exposition, push_prom_remote).
  • hub/ — infraestructura como código del hub central en magnus: units systemd (VictoriaMetrics, Grafana), snippet de Caddy, provisioning de Grafana (datasource) y dashboards JSON. Documenta cómo se montó el hub para poder reproducirlo.

Secretos (en pass, nunca en el repo)

  • grafana/fleet-admin — usuario admin de Grafana.
  • fleet/ingest-pass — password del usuario fleet para el endpoint de ingesta (basic auth).

Alertas

Se enviarán por unibus (NATS), el bus de mensajería del ecosistema, cuando esté listo. Grafana alerting emitirá a unibus vía webhook. Fase posterior.