feat: project fleet_monitoring (monitorización de flota: agente + hub VM/Grafana)
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
||||
# Sub-repos hijos: cada app y analysis es su propio repo Gitea (ver .claude/rules/projects.md)
|
||||
apps/*/
|
||||
analysis/*/
|
||||
|
||||
# Vaults (datos fuera del repo)
|
||||
vaults/*
|
||||
!vaults/.gitkeep
|
||||
|
||||
# Reports: artefacto local, no se versiona (ver .claude/rules/reports.md)
|
||||
reports/*
|
||||
!reports/.gitkeep
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
---
|
||||
name: fleet_monitoring
|
||||
description: "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."
|
||||
tags: [monitoring, fleet-metrics, grafana, victoriametrics, infra]
|
||||
repo_url: "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.
|
||||
Reference in New Issue
Block a user