Skip to main content

¿Qué es Laravel Nightwatch?

Laravel Nightwatch es una plataforma SaaS gestionada para monitorizar de forma continua el entorno de producción de aplicaciones Laravel. Recoge y visualiza en tiempo real datos de telemetría de toda la aplicación: peticiones HTTP, consultas SQL, excepciones, jobs de cola, logs, tareas programadas, etc.
Nightwatch es un servicio de pago (facturación mensual). Se puede usar también con el plan gratuito, pero hay un límite en el número de eventos que se pueden recoger. Para usarlo de forma práctica en el plan gratuito es imprescindible aplicar la configuración de muestreo y filtrado descrita a continuación.

Diferencias con Telescope y Pulse

Nightwatch difiere en propósito de las herramientas de monitorización y depuración ya existentes en el ecosistema Laravel. Vamos a organizar sus usos. Recoge prácticamente la misma información que Telescope, pero Nightwatch mantiene un proceso agente residente y envía los datos a la nube. Por eso, aunque el servidor caiga, puedes consultar el histórico, y puedes gestionar múltiples servidores y aplicaciones de forma centralizada.

Arquitectura

Nightwatch adopta una configuración en la que se interpone un proceso agente entre la app Laravel y la nube de Nightwatch. El agente permanece a la escucha en local (127.0.0.1:2407), recibe eventos de la app Laravel y los reenvía a la nube. Por eso hay que mantener el proceso agente siempre en ejecución.

Instalación y configuración inicial

1. Creación de cuenta y aplicación

Crea una cuenta en nightwatch.laravel.com y registra la organización y la aplicación. Tras registrar la aplicación se emite un token de entorno.

2. Instalación del paquete

A diferencia de Telescope, la flag --dev no es necesaria. Nightwatch está pensado para usarse en producción.

3. Configuración del token

Añade el token al archivo .env.

4. Arranque del agente

Hay que mantener el agente ejecutándose siempre en segundo plano. Laravel Cloud, Laravel Forge y Laravel Vapor cuentan con guías específicas. En Forge, con la integración oficial se configura automáticamente. Comprobación del estado del agente:

5. Desactivación en el entorno de tests

Se recomienda desactivar Nightwatch durante la ejecución de tests.
También se puede configurar en phpunit.xml.

Configuración para usarlo de forma práctica en el plan gratuito

El plan gratuito tiene un límite mensual de eventos. Con la configuración por defecto (muestreo al 100 % y recolección de todos los datos), aplicaciones con mucho tráfico alcanzan rápidamente el límite. Aplica siempre la siguiente configuración.

Bajar la tasa de muestreo

NIGHTWATCH_REQUEST_SAMPLE_RATE es por defecto 1.0 (recoge todas las peticiones). Se recomienda reducirlo a algo así como 0.1 (10 %) en el plan gratuito.
Ejemplo de configuración que sigue recogiendo el 100 % de excepciones y comandos:

Desactivar la recolección de queries

Las consultas a base de datos representan una gran proporción de eventos. Desactivando la recolección de queries en el plan gratuito, dejas espacio para guardar eventos importantes (excepciones, peticiones, jobs).

Otras configuraciones de filtrado

Según sea necesario, puedes desactivar también la recolección de eventos de caché o de correo.

Resumen de configuración recomendada para el plan gratuito

Con solo estas tres líneas puedes lograr una monitorización de aplicaciones útil incluso en el plan gratuito.

Funcionalidades principales

Monitorización de peticiones

Recoge por cada petición HTTP el tiempo de respuesta, el código de estado y la información de ruta. Puedes identificar endpoints anormalmente lentos y descubrir cuellos de botella de rendimiento.

Seguimiento de excepciones

Captura en tiempo real las excepciones no gestionadas que se produzcan en producción. Se registran automáticamente la traza y snippets del código fuente, lo que facilita la investigación de la causa.

Recolección de logs

Se integra con el sistema de logging de Laravel (Log::error(), etc.) y envía logs estructurados a Nightwatch.

Monitorización de jobs y tareas programadas

Sigue el historial de ejecución, el estado de éxito o fallo y el tiempo de ejecución de los jobs de cola y las tareas programadas. Permite identificar rápidamente problemas en el procesamiento por lotes.

Seguimiento de despliegues

Relaciona los cambios de cada release con los problemas. Permite investigar visualmente cosas como “desde este despliegue han aumentado las excepciones”.

Alertas y notificaciones

Usando la integración con Slack o webhooks puedes notificar al instante subidas repentinas de excepciones o degradaciones de rendimiento.

Cuándo usar Telescope y cuándo Nightwatch

  • Desarrollo local → Telescope
  • Quiero un dashboard agregado de producción → Pulse
  • Quiero trazas detalladas y alertas en producción → Nightwatch
Los tres no se excluyen mutuamente; también se puede usar Pulse y Nightwatch conjuntamente.

Conclusión

Laravel Nightwatch es una potente herramienta SaaS que mejora enormemente la visibilidad de las aplicaciones Laravel en producción. Al implantarla, ten en cuenta lo siguiente.
  • Hay que mantener el proceso agente ejecutándose siempre
  • En el plan gratuito son prácticamente imprescindibles las configuraciones NIGHTWATCH_REQUEST_SAMPLE_RATE=0.1 y NIGHTWATCH_IGNORE_QUERIES=true
  • Telescope (desarrollo), Pulse (agregación) y Nightwatch (monitorización) tienen roles distintos y pueden usarse conjuntamente
Para la configuración detallada consulta la documentación oficial y la referencia de variables de entorno.

Técnicas prácticas de Laravel Telescope

Para depurar en desarrollo local, usa Telescope.
Última modificación el 13 de julio de 2026