Volver a la wiki

Agente 2.29.0: resultados grandes por REST, protocolo authoritative y descubrimiento profundo troceado por bytes

User value

El Agente local (el programa que corre en la red del cliente y hace de puente entre sus equipos y CreaRack Pro) habla con el servidor por un canal WebSocket con un tope de tamaño de mensaje (~1 MiB, Daphne). La versión 2.29.0 (25-09-2026, mega-auditoría ronda 5) resuelve tres puntos donde ese tope o la fiabilidad del canal causaban fallos silenciosos: resultados de operaciones grandes que no llegaban nunca, el Agente creyendo que ya no vigila ningún equipo por un fallo transitorio del servidor, y un descubrimiento profundo masivo que se cortaba a mitad.

Resultados grandes por REST (E1-03)

Una copia de configuración u otra operación de equipo puede devolver un resultado de varios cientos de KB — más de lo que cabe en un mensaje WebSocket. Antes, esa respuesta simplemente no llegaba. Ahora:

Sigue el mismo patrón que [[decision—20260919—agente-reload-targets-rest-en-vez-de-subir-tope-websocket]]: cuando el WebSocket no da para el tamaño del payload, la respuesta no es subir el tope del socket, es sacar ESE tráfico a REST.

Protocolo authoritative: la lista de equipos vacía ya no apaga la vigilancia (B-53)

Antes, cualquier respuesta del servidor con una lista de equipos vacía hacía que el Agente dejara de vigilar todo — incluido un fallo transitorio de red o un bug del servidor. Desde la 2.29.0, la respuesta lleva un campo authoritative: true/false:

Descubrimiento profundo troceado por tamaño (E2-07)

Un lote de descubrimiento profundo (deep discovery) con muchos equipos y sus OIDs puede superar el tope de 1 MiB del WebSocket. Es un mecanismo DISTINTO — y en una capa distinta — al troceo por número de perfiles de [[feature—network—deep-discovery-batch-dispatch]] (que agrupa de tres en tres para no saturar el Agente de lecturas SNMP simultáneas): este troceo es por BYTES del mensaje, no por cantidad de tareas.

Duración de las tandas SNMP en el latido (E2-06)

Cada bucle SNMP del Agente (fast/bandwidth/extras) apunta cuánto tarda su tanda y lo manda en el latido (health.snmp_cycle_*_s); el servidor lo guarda en AgentInstance.health y lo expone en la API de flota — visibilidad de rendimiento del Agente sin instrumentación nueva del lado servidor.

Build reproducible (A1-stack-python)

El ejecutable del Agente se compila desde un lock completo con hashes (terminal/agent/requirements-agent.lock, 44 dependencias, generado con uv desde requirements-agent.in, instalado con pip install --require-hashes). build_agent.bat crea un entorno virtual limpio en cada build y aborta si el Python no es 3.14.x. pip-audit escanea el lock completo. Los Agentes que se auto-actualizan siguen con las librerías de su instalación hasta que alguien los reinstala.

Commits relacionados

Véase también

Subir