Esta guía es válida para Laravel 10 u 11 y PHP 8.1 o superior. Necesita una cuenta live24h, un Workspace y una API key con permisos de escritura: consulte los pasos comunes .
Instalar
El paquete es un paquete de Composer con auto-discovery: el ServiceProvider se incluye automáticamente:
composer require live24h/laravel-adapter
php artisan vendor:publish --provider="Live24h\LaravelAdapter\LaravelServiceProvider"
El segundo comando publica la configuración config/live24h.php. Registre ahí api_key y api_base_url (por defecto https://api.live24h.eu), o introduzca la key más tarde en la página de ajustes. El paquete se obtiene como descarga directa de live24h; la publicación en el marketplace llegará después.
Paso a paso
El paquete proporciona un grupo de rutas protegido por auth (middleware: web, auth): el Health Center en /live24h/health, una página de ajustes y el asistente de configuración. El flujo ilustrado está descrito en la visión general
; los pasos para Laravel son:
- Abra
/live24h/healthcomo usuario autenticado. - Compruebe la conexión en la página de ajustes («prueba de conexión»). La API key se muestra siempre enmascarada.
- Inicie el análisis de la aplicación.
- Revise el Website Health Score y las recomendaciones.
- Seleccione los checks: las sugerencias bloqueadas siguen visibles y aparecen marcadas como «Desde Pro».
- Cree los checks con un clic.
El escaneo cubre cuatro áreas: SEO (robots.txt, sitemap), SSL/dominio/DNS (certificado TLS, dominio apex), entregabilidad del correo (MX, SPF, DKIM, DMARC del dominio remitente, tomado de la configuración MAIL_*) y procesamiento en segundo plano (Scheduler schedule:run y Queue workers como heartbeat).
Presets de política para despliegues
Para varias aplicaciones hay tres preconfiguraciones que determinan el alcance de los checks creados:
- essential – solo los checks más importantes (disponibilidad, SSL).
- recommended – el estándar, incluido SEO, dominio y DNS de correo.
- all – además los heartbeats de Scheduler y Queue.
Así lleva el mismo estándar de monitorización de forma reproducible a cada proyecto Laravel.
Resolución de problemas y consejos
La ruta /live24h/health no es accesible.
El grupo de rutas usa el middleware web y auth, así que debe estar autenticado. Compruebe además si la configuración se ha publicado (php artisan vendor:publish) y vacíe la caché si hace falta con php artisan config:clear y php artisan route:clear.
La «prueba de conexión» falla.
Compruebe la api_key (se requieren permisos de escritura), la api_base_url (https://api.live24h.eu) y si el servidor tiene permiso para conectar hacia el exterior.
Se comprueba un dominio de correo erróneo o ninguno.
El dominio remitente se deriva de la configuración MAIL_*. Defina MAIL_FROM_ADDRESS correctamente para que se comprueben MX, SPF, DKIM y DMARC del dominio adecuado.
Un check de heartbeat se queda en «En espera». Es normal y no es un error: un heartbeat espera la primera señal del proceso supervisado (el ping a la URL del heartbeat). Mientras la ejecución del Scheduler o el Queue worker no se hayan reportado todavía, el check permanece en «En espera», no en «Caído». Con la primera ejecución, el estado pasa a «Operativo».
El heartbeat del Scheduler no se reporta.
Asegúrese de que php artisan schedule:run se ejecute realmente cada minuto mediante cron y de que el Queue worker (php artisan queue:work) esté en marcha. Sin un proceso activo, el heartbeat correspondiente permanece en «En espera».
Preguntas frecuentes
¿Tengo que registrar las rutas a mano? No. El escaneo deriva los checks relevantes de la aplicación: SEO, SSL/dominio, DNS de correo y heartbeats de Scheduler y Queue. Usted solo selecciona y crea con un clic.
¿Se mide o se guarda algo en mi aplicación? El paquete escanea de lectura y crea los checks. Las comprobaciones 24/7 en marcha las asume después la plataforma live24h; el paquete en sí no es un motor de monitorización.
¿Es adecuado para varias aplicaciones?
Sí. Con los presets de política essential, recommended y all se puede desplegar el mismo estándar de monitorización de forma reproducible en todas las aplicaciones Laravel.