Funcionalidaddraftcreado Tue Sep 29#monitoring#wireless#observability#reliability#multi-tenancy#rls#django#postgres
Valor para el usuario
Hasta ahora CreaRack solo sabía si un equipo estaba caído en este momento (MonitoringTarget.last_status). En FABCON26 un punto de acceso (P1-Sala119) se reinició 52 veces en 24 h y no quedó rastro. Ahora cada caída y cada vuelta se apunta con su hora y su duración.
Cómo verlo
- En la ficha de un grupo de Wireless, bajo las tarjetas del resumen, aparece una línea con los puntos de acceso que se cayeron en las últimas 24 h: número de caídas, hora de la última y duración. Si no hubo, lo dice.
- API:
GET /targets/{id}/outages?hours=24(mínimo 1 h, máximo 720 h = 30 días), exige permisoobservatory:view.
Implementación
- Modelo
TargetOutage(monitoring/models_outage.py): organización, target,started_at,ended_at(NULL = caída abierta),duration_seconds,source. Índice(target, started_at). Migraciones 0036 (tabla) y 0037 (RLS multi-tenant). monitoring/services/outages.py:note_status_change(target, before, after, at)es el único punto de escritura. Abre caída en el paso adown, la cierra al volver aup/degraded. Ignoraunknowny los equipos fuera de servicio. Es best-effort: nunca rompe al llamador.outages_for_targetyoutages_24h_for_targets(una sola consulta, agregada en Python) alimentan el endpoint y elgroup-summaryde Wireless (outages_24h).
- Se llama desde los caminos que cambian
last_statuspor medida real:ping_targets,snmp,operationsy la ingesta del Sentinel. - UI:
WirelessGroupDetail.js(+ cadenas endjangojs.po).
Límites honestos
- El registro empieza el 29-09-2026, sin histórico previo.
- Solo ve caídas que llegan a medirse: un reinicio más corto que el intervalo de medida puede pasar desapercibido, y si el Agente entero deja de reportar no se apunta nada.
- No envía avisos, solo registra. Al cierre del commit, no comprobado en pantalla.
Commits relacionados
- 17d08a6a (2026-09-29, PR #638).
Véase también
- [[entity—monitoring—model—monitoringtarget]]
- [[feature—monitoring—out-of-service-devices]]
- [[feature—monitoring—group-toolbar]]
- [[feature—monitoring—sentinel-episodio-unico]]
- [[feature—monitoring—disponibilidad-reachability-v1666]]
- [[feature—monitoring—uptime-coverage-honesta-v1-125-0]]
- [[incident—20260916—graficas-bandwidth-caidas-falsas-eurofinance]]