Skip to main content

¿Qué es Laravel Pulse?

Laravel Pulse es un dashboard de monitorización que muestra de un vistazo el rendimiento y el uso de la aplicación. Permite localizar cuellos de botella (jobs y endpoints lentos) o consultar quiénes son los usuarios más activos.

Diferencia entre Telescope y Pulse

Para depuración detallada de eventos individuales, usa Laravel Telescope.

Diagrama del flujo de datos


Instalación

La implementación de almacenamiento oficial de Pulse requiere MySQL, MariaDB o PostgreSQL. Si usas otro motor, prepara una BD MySQL, MariaDB o PostgreSQL dedicada para los datos de Pulse.
1

Instalación del paquete

Instala Pulse con Composer.
2

Publicar configuración y migraciones

Publica los archivos con Artisan.
3

Ejecutar migraciones

Crea las tablas para los datos de Pulse.
Tras la migración, accede al dashboard en la ruta /pulse.

Publicar el archivo de configuración

También puedes publicar solo el archivo de configuración para personalizarlo.

Acceso al dashboard

Configuración de autenticación

Por defecto, solo se accede al dashboard en el entorno local. En producción, personaliza la puerta de autorización viewPulse para controlar el acceso.
Añade el código anterior al método boot de app/Providers/AppServiceProvider.php.

Personalización del dashboard

Publica la vista del dashboard para personalizar cards y layout.
Después edita resources/views/vendor/pulse/dashboard.blade.php. Como el dashboard funciona con Livewire, puedes personalizarlo sin compilar JavaScript.
Cada card admite cols y rows para ajustar tamaño y posición.

Recorders

Los recorders capturan eventos de la aplicación y los registran en la BD de Pulse. La configuración vive en la sección recorders de config/pulse.php.

Requests / Slow Requests

Requests captura información de las solicitudes. Puedes configurar el umbral de rutas lentas (1000 ms por defecto), la tasa de muestreo y las rutas a ignorar.

Slow Jobs

SlowJobs captura jobs que superan el umbral (1000 ms por defecto). Puedes configurar umbrales distintos por job.

Exceptions

Exceptions captura las excepciones reportables. Se agrupan por clase y ubicación.

Cache

CacheInteractions captura hits y misses de caché. Puedes agrupar claves parecidas con una regex.

Queues

Queues captura el throughput de los jobs en cola (encolados, procesando, completados, liberados y fallidos).

Servers

Servers captura el uso de CPU, memoria y almacenamiento de los servidores que ejecutan la app. Para usarlo, mantén activo pulse:check en cada servidor monitorizado.
Por defecto se usa el nombre devuelto por gethostname(). Personalízalo con una variable de entorno.

Users

UserRequests y UserJobs capturan el usuario que originó solicitudes o jobs y lo muestran en la card “Application Usage”.

Ingesta con Redis

En entornos de alto tráfico, puedes enviar las entradas a un stream de Redis y luego ingestarlas a la BD.
Con la ingesta por Redis, ejecuta pulse:work para procesar el stream.

Muestreo

En entornos de alto tráfico, capturar todos los eventos puede generar millones de filas. Con el muestreo registras solo una parte y el dashboard muestra un valor aproximado.
En el dashboard los valores aproximados se muestran precedidos de ~. Cuanto más grande sea el volumen de entradas, más se puede bajar la tasa manteniendo precisión.

Variables de entorno

Los principales ajustes se controlan por variables de entorno.

Cards personalizadas

Puedes crear tus propias cards de Pulse para mostrar datos específicos. Se implementan como componentes de Livewire.
En la vista usa los componentes Blade que ofrece Pulse para conservar un aspecto uniforme.
Captura datos personalizados con Pulse::record.
Incluye el componente en la vista del dashboard.

Resumen

Próximos pasos

Manejo de errores

Aprende el manejo y reporte de excepciones de la aplicación.

Logging

Configuración y uso del sistema de logs de Laravel.
Última modificación el 13 de julio de 2026