“Sistema › Salud” muestra una tarjeta por pieza (base de datos, Redis, cola y worker, scheduler, tiempo real, almacenamiento) en verde, atención o falla. Se mide en el momento de abrirlo, no se guarda. Aparte, el scheduler revisa lo mismo cada minuto y deja un evento cuando algo falla, aunque nadie tenga el panel abierto.
| Medida | Atención | Falla |
|---|---|---|
| Base de datos y Redis | Más de 200 ms | No responde |
| Worker y scheduler | Sin señal todavía (recién arrancado) | Última señal hace más de 2 min |
| Cola | Más de 100 pendientes, el más viejo con más de 5 min, o jobs fallidos | — |
| Almacenamiento | Menos del 10 % libre | Menos del 5 % libre |
Paso a paso
- Super adminAbre Sistema › Salud
- API¿Tiene system.health.view?
- PiezasMide cada pieza ahora
Una consulta a MySQL, un ping a Redis, la conexión a Reverb, la cola y los jobs fallidos, el espacio en disco y las señales de vida del worker y del scheduler.
- APIInterpreta con HealthRules
Los mismos umbrales que usa la revisión de cada minuto, definidos en un solo lugar.
- Super adminVe cada tarjeta con su estado y sus acciones
Si tiene
system.actions.execute, cada tarjeta trae las acciones de esa pieza (ver "Acciones de sistema"). - SchedulerCorre system:check cada minuto
- SchedulerDeja su señal de vida y pide la del worker
El scheduler escribe la suya en Redis y encola
WorkerHeartbeat: si el worker está vivo, lo procesa y deja la suya. - Piezas¿Algo falla o la cola se acumula?
- SchedulerNada que registrar
- SchedulerRegistra el evento de esa pieza
ServiceDown(redis, realtime o worker) oQueueBacklog, agrupados por huella: un minuto tras otro suman al mismo evento.
Dónde está en el código
ReadHealthyHealthRules.LaravelHealthProbe: las mediciones.CheckSystemyCheckSystemCommand: la revisión de cada minuto.CacheHeartbeats: señales de vida.useHealth.- Explicación: Módulo System.