Volver a la wiki

Telemetría del Agente en el heartbeat — la ligereza, visible

Descripción

Task #209 — El Local Agent 2.18.0 ahora mide y reporta la telemetría de su propio proceso en el latido de cada 30 segundos. La promesa central del Agent — “máxima ligereza, mínimo impacto” — dejó de ser una declaración de marketing y pasó a ser un dato verificable en pantalla.

Lo que cambia

Agent-side (core/connector.py)

El heartbeat que el Agent envía al SaaS cada 30s ahora incluye un bloque health con cinco métricas del propio proceso:

Se calcula en un thread (asyncio.to_thread) y es best-effort: si psutil falla o el acceso al store se bloquea, el heartbeat viaja sin el bloque health — la telemetría jamás puede tumbar el latido. El código es puro (sin I/O sincrónico bloqueante) y viaja como parte del paquete app-2.18.0.zip del auto-update (sin necesidad de recompilar el onedir).

SaaS-side (Django + Consumidor WebSocket)

Modelo: AgentInstance.health (JSONField, nullable)

Consumer (terminal/consumers.py):

Endpoint (GET /api/agent/fleet):

Frontend

Fleet Manager (static/js/base.js):

Observatory (static/js/pages/observatory/ObservatoryAgent.js):

Línea marginal del home (static/js/dashboard.js + static/css/pages/dashboard.css):

Internacionalización

Cuatro strings nuevos en locale/es/LC_MESSAGES/djangojs.po:

Nota: "Local Agent" es nombre de producto (glosario) — no se traduce.

Valor entregado

Para el MSP / vendedor

Para operaciones

Descartado en la misma charla

Polling adaptativo (“respiración”): la latencia de reacción al pedir un Observatory y el hecho de que casi siempre hay un dispositivo vigilado hacen que el ahorro energético no compense la complejidad; se reabiría solo con datos de flotas grandes (que esta misma feature aportará en el futuro).

Versiones

Véase también

Subir