Cos’è Laravel Pulse
Laravel Pulse è una dashboard di monitoraggio che ti mostra a colpo d’occhio prestazioni e utilizzo dell’applicazione. Individua job lenti, endpoint lenti e utenti più attivi.Differenza con Telescope
| Caratteristica | Laravel Pulse | Laravel Telescope |
|---|---|---|
| Scopo | Trend e metriche aggregate | Debug dettagliato di richieste ed eventi |
| Dati | Metriche aggregate | Log per singolo evento |
| Ambiente ideale | Produzione | Sviluppo/staging |
Per il debug dettagliato di singoli eventi usa Laravel Telescope.
Flusso dei dati
Installazione
Dashboard:/pulse.
Pubblicare solo la config
Accesso alla dashboard
Autenticazione
Di default sololocal. Definisci la gate viewPulse in AppServiceProvider.
Personalizzazione
resources/views/vendor/pulse/dashboard.blade.php. La dashboard è Livewire, niente build JS.
cols e rows regolano dimensioni e posizione.
Recorder
Registrano gli eventi. Configurazione inconfig/pulse.php sezione recorders.
Requests / Slow Requests
Cattura info sulle richieste. Soglia di route lente (default 1000ms), sample rate, path da ignorare.Slow Jobs
Exceptions
Cattura eccezioni segnalabili. Raggruppate per classe e posizione.Cache
Hit/miss della cache.Queues
Throughput dei job (in coda, in elaborazione, completati, rilasciati, falliti).Servers
CPU, memoria, storage. Richiedepulse:check in esecuzione su ogni server.
Users
UserRequests e UserJobs catturano info utente per la card “Application Usage”.
Redis Ingest
Per alto traffico invia le entry a uno stream Redis prima di scriverle in DB.Sampling
In produzioni ad alto traffico, con il sampling registri solo una parte degli eventi.~.
Variabili d’ambiente
| Variabile | Descrizione | Default |
|---|---|---|
PULSE_ENABLED | Attivo/disattivo | true |
PULSE_DB_CONNECTION | Connessione DB | Default dell’app |
PULSE_INGEST_DRIVER | Driver di ingest (redis, ecc.) | storage |
PULSE_SERVER_NAME | Nome server | gethostname() |
PULSE_SLOW_REQUESTS_THRESHOLD | Soglia richieste lente (ms) | 1000 |
PULSE_SLOW_JOBS_THRESHOLD | Soglia job lenti (ms) | 1000 |
PULSE_SLOW_QUERIES_THRESHOLD | Soglia query lente (ms) | 1000 |
Card personalizzate
Card come componenti Livewire.Pulse::record.
Riepilogo
| Obiettivo | Metodo |
|---|---|
| Installazione | composer require laravel/pulse |
| Accesso dashboard | Route /pulse |
| Controllo accessi in produzione | Gate viewPulse |
| Monitor server | php artisan pulse:check sempre attivo |
| Sampling | Opzione sample_rate |
Prossimi passi
Gestione errori
Gestione delle eccezioni.
Logging
Configurazione e uso del logging.