CreaRack-SL

Registro de caídas y vueltas de cada equipo monitorizado (v1.169.0)

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 permiso observatory: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 a down, la cierra al volver a up/degraded. Ignora unknown y los equipos fuera de servicio. Es best-effort: nunca rompe al llamador.
    • outages_for_target y outages_24h_for_targets (una sola consulta, agregada en Python) alimentan el endpoint y el group-summary de Wireless (outages_24h).
  • Se llama desde los caminos que cambian last_status por medida real: ping_targets, snmp, operations y la ingesta del Sentinel.
  • UI: WirelessGroupDetail.js (+ cadenas en djangojs.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]]