Propósito
La lista de targets de monitorización viajaba al frontend con TODAS sus claves, incluidas varias que solo usa el Agente local (monitoring_oids, selected_interfaces, fast_poll_oids) y que el navegador nunca necesita. En el CCIB, con la flota real del evento, esa lista pesaba 1,05 MB por recarga; el presupuesto de payload medido el 16-09 exigía la mitad.
Contrato
MonitoringTargetListOut(schema Ninja enmonitoring/api/schemas.py) es la forma slim de la lista — sin las claves solo-Agente. El endpoint de listado la usa por defecto.public_config_slim(enmonitoring/models.py) es el método del modelo que produce esa versión reducida a partir de la configuración completa.- La ficha completa (
GET /targets/{id}) sigue devolviendo TODAS las claves — nada cambia ahí, y unPUTdesde una fila de la lista no borra las claves solo-Agente porque nunca las tuvo que enviar de vuelta. - El Observatory pide la ficha completa una sola vez al abrir la pestaña de detalle (
ObservatoryTargetDetail.js); el refresco periódico de la lista usa siempre la versión slim y no la pierde.
Resultado medido
1,05 MB → ~0,1 MB por recarga de la lista (factor ~10x), medido contra la carga real del CCIB.
Dependencias
monitoring/api/targets.py— endpoint de listado, usa el schema slim.static/js/pages/observatory.js+ObservatoryTargetDetail.js— consumen la ficha completa solo al abrir detalle.- Tests:
tests/monitoring/test_targets_list_slim_config.py(86 líneas, pytest) + 4 tests vitest (observatory_target_detail.test.js).
Commits relacionados
3b047c97(16-09-2026) — v1.135.3, s329.
Véase también
- [[feature—monitoring—dashboard-customize]]
- [[feature—network—deep-discovery-batch-dispatch]]
- [[incident—20260916—graficas-bandwidth-caidas-falsas-eurofinance]]
- [[incident—20260915—vmalert-alertas-ciegas]]
Referenciado desde
- Agente 2.29.0: resultados grandes por REST, protocolo authoritative y descubrimiento profundo troceado por bytes
- Deep Discovery automático en lotes de tres al Agente (last_batch)
- Dos alertas de salud de vmalert que nunca podían disparar (métrica inexistente)
- Equipos fuera de servicio — Take out of Service / Return to Service
- Modo Customize en los dashboards de Wireless, UPS, Signage y Observatory
- Rangos de 7 y 30 días en las gráficas de equipo, flota y grupo
- reload_targets pide la lista por REST en vez de subir el tope de mensaje de Daphne