Tabla de contenido:
-
Introducción
-
Las características que ofrece Laravel Pulse
-
Instalar Pulse
-
Deje que Laravel Pulse monitoree su servidor
-
Hacer que Laravel Pulse sea seguro
Introducción
Laravel Pulse es una herramienta de monitoreo del rendimiento de la aplicación en tiempo real y un panel de control para su aplicación Laravel.
En palabras de Taylor Otwell creador de Laravel, Pulse nació por la frustración que tenían con Laravel Forge y la incapacidad de identificar de forma rapida por qué el servicio presentaba rendimiento bajo y cuáles eran los usuarios que lo causaban.
Es increíble que una herramienta de esa magnitud sea gratuita, se nota el amor que el equipo de Laravel le tiene a su comunidad para dejar Pulse libre y poder utilizarlo en cualquier aplicación.
Las características que ofrece Laravel Pulse
- Uso de la aplicación: Descubra a los usuarios que realizan la mayor cantidad de solicitudes, interactúan con los puntos finales más lentos y envían la mayor cantidad de trabajos a través de sus aplicaciones Laravel.
- Estadísticas del servidor: Supervise el uso de CPU, memoria y disco de su servidor. ¿Está ejecutando varios servidores? Sin sudar. Pulse puede monitorear todos sus servidores en un solo lugar.
- Monitoreo de colas: Elimine las conjeturas al optimizar los trabajadores de su cola. Vea estadísticas históricas y en tiempo real sobre cuántos trabajos están pendientes, cuántos fallaron y cuántos se procesaron exitosamente.
- Monitoreo del desempeño: Vea una descripción general de alto nivel de los cuellos de botella en el rendimiento de sus aplicaciones. Vea los puntos finales, consultas, trabajos y solicitudes salientes más lentos que afectan a los usuarios.
- Excepciones de tendencia: Obtenga una descripción general de las excepciones que ocurren en su aplicación. Tener sus excepciones al lado de la descripción general completa del estado de su aplicación lo ayuda a encontrar anomalías en toda su pila.
- Métricas personalizadas impulsadas por la comunidad: Crea tarjetas personalizadas para ti o crea tarjetas que se puedan compartir para la comunidad de Laravel. Incluso puedes personalizar el diseño del panel de Pulse.
- Diseño del panel personalizado: en el sitio web oficial se menciona que el diseño del panel se puede personalizar, ¡lo cual es una gran noticia!
Instalar Pulse
Laravel Pulse requiere una base de datos MySQL o PostgreSQL. Si está ejecutando otra base de datos, está bien, pero tendrá que crear una nueva conexión para MySQL o PostgreSQL.
Pulse todavía está en versión beta y debe realizar algunos cambios en su archivo composer.json para instalarlo hasta que se lance una versión estable. Cambie a minimum-stability
y beta
asegúrese de prefer-stable
que esté configurado en true
:
"minimum-stability": "beta",
"prefer-stable": true
Utilizando composer se instala con el siguiente comando:
composer require laravel/pulse
A continuación, debe publicar los archivos de configuración y migración de Pulse usando el vendor:publish
comando Artisan:
php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider"
Pafa finalizar, debe ejecutar el comando migrate
para crear las tablas necesarias para almacenar los datos de Pulse:
php artisan migrate
Una vez que se hayan ejecutado las migraciones de la base de datos de Pulse, podrá acceder al panel de Pulse a través de la ruta /pulse
.
Deje que Laravel Pulse monitoree su servidor
De momento el panel de pulse está vacío.
Se debe mostrar informacion alli y para empezar debe mostrar los recursos del servidor
Para hacer esto, ejecute el siguiente comando:
php artisan pulse:check
Este comando se ejecuta continuamente para proporcionar a Pulse los datos necesarios para el panel de administración. Este es un demonio que debes ejecutar en segundo plano y se recomienda utilizar Supervisor para hacerlo.
Listo, Pulse ya está monitoreando la aplicación 🚀🚀 pero falta algo más, aplicar la seguridad necesaria al panel de pulse.
Hacer que Laravel Pulse sea seguro
Se puede acceder al panel de Pulse a través de la ruta /pulse
. Esta forma predeterminada permite el acceso en el entorno local, para acceder a la ruta en un entorno de producción se debe configurar la autorización en AuthServiceProvider
definiendo un método gate viewPulse
.
use App\Models\User;
use Illuminate\Support\Facades\Gate;
/**
* Register any authentication / authorization services.
*/
public function boot(): void
{
Gate::define('viewPulse', fn (User $user) => $user->isAdmin());
// or
Gate::define('viewPulse', fn (User $user) => in_array($user->email, [
'johndoe@example.com',
]));
}
¡Listo, ahora podemos disfrutar de Pulse! 🚀🤓
La comunidad de Laravel, como no es de extrañarse ya estan desarrollando tarjetas personalizadas. 🤙