Laravel Telescope è un elegante strumento di debug e monitoraggio per le applicazioni Laravel. Fornisce informazioni approfondite su richieste, eccezioni, query, lavori e altro ancora. Questa guida vi guiderà attraverso l’installazione, la configurazione e l’utilizzo di Laravel Telescope per migliorare l’osservabilità della vostra applicazione. È possibile installarlo con il proprio VPS.

Prerequisiti

Prima di configurare Telescope, assicurarsi di disporre di quanto segue:

  • Un’applicazione Laravel (si consiglia la versione 6.x o superiore)
  • PHP 7.3 o successivo
  • Composer installato sulla macchina

Passo 1: Installazione di Laravel Telescope

Per installare Laravel Telescope, eseguire il seguente comando tramite Composer:

composer require laravel/telescope

Una volta completata l’installazione, pubblicare il provider di servizi Telescope e le risorse utilizzando:

php artisan telescope:install

Infine, migrare le tabelle del database necessarie:

php artisan migrate

Passo 2: Configurare Telescope

Dopo l’installazione, Telescope fornisce un file di configurazione situato in config/telescope.php. È possibile personalizzare le impostazioni secondo le proprie necessità.

Autorizzazione

Per impostazione predefinita, Telescope è accessibile solo nell’ambiente locale. Se si vuole consentire l’accesso in altri ambienti, modificare il metodo gate in

App\Providers\TelescopeServiceProvider:

use Laravel\Telescope\Telescope;
use Laravel\Telescope\TelescopeApplicationServiceProvider;

class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
{
protected function gate()
{
Gate::define('viewTelescope', function ($user) {
return in_array($user->email, [
'admin@example.com',
]);
});
}
}

Conservazione dei dati

Per impostazione predefinita, Telescope conserva i registri per 24 ore. È possibile modificarlo nel file config/telescope.php:

'retain_hours' => 48,

Configurazione della rotta

Il cruscotto di Telescope è accessibile tramite /telescope. Se si desidera personalizzare questo percorso, aggiornare il file config/telescope.php:

'path' => 'monitoring',

Ora Telescope sarà disponibile in /monitoring invece che in /telescope.

Passo 3: Utilizzare Telescope

Una volta configurata, avviare l’applicazione Laravel e visitare yourdomain.com/telescope (o il percorso personalizzato). Si vedrà:

  • Richieste: Monitora le richieste in arrivo e i loro tempi di risposta.
  • Eccezioni: Elenca tutti gli errori e le tracce dello stack.
  • Query: Visualizza le query SQL eseguite.
  • Lavori: Monitora i lavori in coda e il loro stato.
  • Eventi: Registra gli eventi di Laravel.

Passo 4: Distribuzione di Telescope in produzione

Sebbene Telescope sia utile per lo sviluppo, non è raccomandato per la produzione a causa del sovraccarico di prestazioni. Tuttavia, se è necessario distribuirlo in produzione, si può usare la variabile d’ambiente TELESCOPE_ENABLED:

TELESCOPE_ENABLED=true

Inoltre, programmare un comando per cancellare periodicamente i log, per evitare una crescita eccessiva del database:

php artisan telescope:prune --hours=24

È possibile automatizzare questa operazione aggiungendo un’attività pianificata in app/Console/Kernel.php:

$schedule->command('telescope:prune --hours=24')->daily();

Conclusione

Laravel Telescope è un potente strumento che migliora il debug e il monitoraggio delle applicazioni Laravel. Installandolo e configurandolo correttamente, si possono ottenere informazioni preziose sulle prestazioni dell’applicazione, sulle query, sulle eccezioni e sui lavori in background.