Esta guía es válida para Symfony 6.4 LTS y PHP 8.1 o posterior. Necesita una cuenta live24h, un Workspace y una API key con permisos de escritura: consulte los pasos comunes .
Instalar
Instalación con Composer:
composer require live24h/symfony-adapter
Registre el bundle en config/bundles.php:
// config/bundles.php
return [
// ...
Live24h\SymfonyAdapter\Live24hMonitorBundle::class => ['all' => true],
];
A continuación importe el routing del bundle, por ejemplo en config/routes/live24h.yaml:
# config/routes/live24h.yaml
live24h_monitor:
resource: '@Live24hMonitorBundle/Resources/config/routes.php'
Cree el archivo config/packages/live24h_monitor.yaml con las claves api_base (por defecto https://api.live24h.eu), site_url (la URL pública de la aplicación que se va a analizar) y cache_pool (por defecto cache.app). La API key no es una clave de configuración: se introduce en tiempo de ejecución desde la interfaz de Ajustes en /admin/live24h/settings (se muestra enmascarada). La publicación en el marketplace de Packagist llegará después.
# config/packages/live24h_monitor.yaml
live24h_monitor:
api_base: 'https://api.live24h.eu'
site_url: 'https://www.ejemplo.com'
cache_pool: 'cache.app'
Proteger la ruta
El bundle se monta en /admin/live24h y debe asegurarse desde el host detrás de un rol y un firewall. Restrinja la ruta en la seguridad de Symfony mediante access_control:
# config/packages/security.yaml
security:
access_control:
- { path: ^/admin/live24h, roles: ROLE_ADMIN }
Después accederá al Health Center en /admin/live24h/health.
Paso a paso
El flujo completo e ilustrado lo encontrará en la visión general . Estos son los pasos para Symfony:
- Abra el Health Center en
/admin/live24h/health. - Compruebe en los Ajustes la API key registrada y pruebe la conexión.
- Inicie el análisis de su aplicación.
- Revise el Website Health Score y las recomendaciones.
- Seleccione los checks: las sugerencias bloqueadas aparecen marcadas como «Desde Pro» y siguen visibles.
- Cree los checks en live24h con un clic.
Como alternativa, por comando de consola
Para despliegues headless y repetibles está disponible el comando de consola:
# Dry-run: muestra scan, modules, score y suggestions como informe
php bin/console live24h:scan
# Crear: genera las sugerencias por defecto
php bin/console live24h:scan --apply
El comando es ideal para pipelines de despliegue y cron, porque actualiza el escaneo sin interfaz de backend. Sin --apply se ejecuta como dry-run.
Resolución de problemas y consejos
El Health Center en /admin/live24h/health no es accesible.
Compruebe si el bundle está registrado en config/bundles.php y el routing importado, y vacíe la caché con php bin/console cache:clear. Asegúrese además de que su entrada access_control permita el acceso a su rol.
La llamada a /admin/live24h no está protegida.
La protección recae en el host. Defina una entrada access_control para ^/admin/live24h en config/packages/security.yaml y coloque la ruta detrás de su firewall.
La «prueba de conexión» falla.
Compruebe la api_key (se requieren permisos de escritura), la api_base (https://api.live24h.eu) y si el servidor tiene permiso para conectar hacia el exterior. Los firewalls del hosting bloquean a veces las peticiones salientes.
Los Messenger workers o las tareas de Scheduler no aparecen.
Los jobs en segundo plano se descubren en el momento del build del contenedor. Tras cambios en transportes o schedules, vacíe la caché con php bin/console cache:clear para que el descubrimiento se actualice. El heartbeat de worker es opt-in.
Un check de heartbeat se queda en «En espera». Es normal y no es un error: un heartbeat espera la primera señal del worker supervisado (el ping a la URL del heartbeat). Mientras el Messenger worker o la tarea de Scheduler 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».
Una sugerencia aparece marcada como «Desde Pro». El tipo de check no está incluido en su plan. Puede deseleccionarlo o mejorar su plan .
Preguntas frecuentes
¿Health Center o comando de consola: qué elegir? Ambos llevan al mismo resultado. El Health Center es cercano al cliente; el comando de consola es ideal para despliegues headless y repetibles en pipelines de despliegue y cron.
¿Necesito una tienda o un CMS? No. El bundle está pensado para aplicaciones Symfony y APIs a medida, y no contiene módulos de comercio.
¿Se comprueban los ajustes de correo? Sí, a título informativo: MX, SPF, DKIM y DMARC se evalúan y se hacen visibles, pero no disparan un check de correo activo.