Comment intégrer Laravel Nightwatch et surveiller votre app comme un pro (guide étape par étape)
1. Introduction
Dans le workflow de développement Laravel moderne, la surveillance et l'observabilité sont essentielles pour garantir des expériences utilisateur fluides et détecter les problèmes tôt. Laravel Nightwatch est un nouvel outil de surveillance officiel construit spécifiquement pour les applications Laravel. Il offre une visibilité approfondie sur les performances, erreurs, requêtes, jobs et plus de votre app — le tout depuis un tableau de bord élégant et orienté développeur.
Dans ce guide, vous apprendrez à intégrer Laravel Nightwatch dans votre application Laravel, étape par étape. Que vous construisiez un projet solo ou gériez une infrastructure de niveau production, Nightwatch vous aidera à surveiller comme un pro.
2. Qu'est-ce que Laravel Nightwatch ?
Laravel Nightwatch est un outil SaaS officiel de l'écosystème Laravel conçu pour vous aider à surveiller les métriques applicatives en temps réel. Il fournit :
- Suivi des exceptions (gérées et non gérées)
- Statistiques de performance des requêtes
- Métriques des jobs en file d'attente
- Activité utilisateur en temps réel
- Intégration Laravel transparente
Voyez-le comme Forge + Telescope + Sentry réunis, mais conçu spécifiquement pour Laravel.
3. Prérequis
Avant de commencer, assurez-vous d'avoir :
Exigences
- Laravel 10 ou ultérieur
- Composer 2+
- PHP 8.1+
- Un compte sur nightwatch.laravel.com
Important : Laravel Nightwatch n'est pas compatible avec les environnements d'hébergement mutualisé comme Hostinger. Vous devez utiliser un environnement local ou un VPS (par ex., Laravel Forge, DigitalOcean, etc.).
4. Étapes d'intégration
Étape 1 : Installer Laravel Nightwatch
Exécutez la commande suivante depuis la racine de votre projet :
composer require laravel/nightwatch
Si votre version de Composer est obsolète (par ex., v1.x), mettez-la à jour d'abord :
composer self-update --2
Étape 2 : Ajouter le token au .env
Après avoir créé une nouvelle app dans le tableau de bord Nightwatch, vous recevrez un token :
NIGHTWATCH_TOKEN=your-nightwatch-token-here
LOG_CHANNEL=nightwatch
Étape 3 : Démarrer l'agent
Pour commencer à envoyer des données :
php artisan nightwatch:agent
Vous devriez voir :
[INFO] Nightwatch agent initiated: Listening on 127.0.0.1:2407
[INFO] Ingest successful
Étape 4 : Déclencher de l'activité
Visitez des routes, déclenchez des exceptions ou lancez des jobs pour voir les données en temps réel dans le tableau de bord.
5. Meilleures pratiques de surveillance
- Exécuter l'agent en arrière-plan : Utilisez Supervisor ou systemd pour maintenir l'agent en fonctionnement en production.
- Utiliser le canal de log
stack: Pour logger à la fois vers Nightwatch et les logs Laravel par défaut :
LOG_CHANNEL=stack
Mettez à jour config/logging.php :
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'nightwatch'],
],
'nightwatch' => [
'driver' => 'monolog',
'handler' => \Laravel\Nightwatch\Log\NightwatchHandler::class,
],
],
6. Conseils de pro
- ✅ Utilisez Laravel Forge ou un VPS pour exécuter l'agent Nightwatch de manière persistante
- 🔄 Automatisez le démarrage test/agent via les hooks de déploiement
- 🧪 Combinez avec les tests de fonctionnalités de Laravel pour une observabilité full-stack
- 🔐 Ne commitez jamais
.envavec le token dans des dépôts publics
7. Conclusion
Laravel Nightwatch apporte une observabilité puissante et de premier ordre directement à vos projets Laravel. Avec une configuration minimale, vous obtenez une visibilité sur la santé de votre application — sans avoir besoin de systèmes externes de suivi d'erreurs ou de journalisation.
Commencez à surveiller comme un pro dès aujourd'hui. Votre futur vous en mode debugging vous remerciera.