Cómo integrar Laravel Nightwatch y monitorear tu app como un profesional (guía paso a paso)
1. Introducción
En el flujo de trabajo moderno de desarrollo Laravel, el monitoreo y la observabilidad son esenciales para garantizar experiencias de usuario fluidas y detectar problemas tempranamente. Laravel Nightwatch es una nueva herramienta oficial de monitoreo construida específicamente para aplicaciones Laravel. Proporciona visibilidad profunda del rendimiento, errores, solicitudes, trabajos y más de tu app — todo desde un hermoso dashboard orientado al desarrollador.
En esta guía, aprenderás a integrar Laravel Nightwatch en tu aplicación Laravel, paso a paso. Ya sea que estés construyendo un proyecto individual o gestionando infraestructura de grado productivo, Nightwatch te ayudará a monitorear como un profesional.
2. ¿Qué es Laravel Nightwatch?
Laravel Nightwatch es una herramienta SaaS oficial del ecosistema Laravel diseñada para ayudarte a monitorear métricas a nivel de aplicación en tiempo real. Proporciona:
- Seguimiento de excepciones (manejadas y no manejadas)
- Estadísticas de rendimiento de solicitudes
- Métricas de trabajos en cola
- Actividad de usuario en tiempo real
- Integración perfecta con Laravel
Piensa en él como Forge + Telescope + Sentry en uno, pero diseñado específicamente para Laravel.
3. Prerrequisitos
Antes de comenzar, asegúrate de tener lo siguiente:
Requisitos
- Laravel 10 o posterior
- Composer 2+
- PHP 8.1+
- Una cuenta en nightwatch.laravel.com
Importante: Laravel Nightwatch no es compatible con entornos de hosting compartido como Hostinger. Debes usar un entorno local o un VPS (por ejemplo, Laravel Forge, DigitalOcean, etc.).
4. Pasos de integración
Paso 1: Instalar Laravel Nightwatch
Ejecuta lo siguiente desde la raíz de tu proyecto:
composer require laravel/nightwatch
Si tu versión de Composer está desactualizada (por ejemplo, v1.x), actualízala primero:
composer self-update --2
Paso 2: Agregar el token a .env
Después de crear una nueva app en el dashboard de Nightwatch, recibirás un token:
NIGHTWATCH_TOKEN=your-nightwatch-token-here
LOG_CHANNEL=nightwatch
Paso 3: Iniciar el agente
Para comenzar a enviar datos:
php artisan nightwatch:agent
Deberías ver:
[INFO] Nightwatch agent initiated: Listening on 127.0.0.1:2407
[INFO] Ingest successful
Paso 4: Generar actividad
Visita rutas, genera excepciones o encola trabajos para ver datos en tiempo real en el dashboard.
5. Mejores prácticas de monitoreo
- Ejecutar el agente en segundo plano: Usa Supervisor o systemd para mantener el agente ejecutándose en producción.
- Usar canal de log
stack: Para registrar tanto en Nightwatch como en los logs predeterminados de Laravel:
LOG_CHANNEL=stack
Actualiza config/logging.php:
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'nightwatch'],
],
'nightwatch' => [
'driver' => 'monolog',
'handler' => \Laravel\Nightwatch\Log\NightwatchHandler::class,
],
],
6. Consejos profesionales
- ✅ Usa Laravel Forge o un VPS para ejecutar el agente de Nightwatch de forma persistente
- 🔄 Automatiza el inicio del test/agente mediante hooks de despliegue
- 🧪 Combina con las pruebas de funcionalidades de Laravel para observabilidad full-stack
- 🔐 Nunca hagas commit de
.envcon el token a repositorios públicos
7. Conclusión
Laravel Nightwatch trae observabilidad poderosa y de primera clase directamente a tus proyectos Laravel. Con una configuración mínima, obtienes visibilidad de la salud de tu aplicación — sin necesitar sistemas externos de seguimiento de errores o logging.
Comienza a monitorear como un profesional hoy. Tu yo futuro que hace debugging te lo agradecerá.