Monitoring¶
Primatch utilise Laravel Telescope et Laravel Pulse pour le monitoring en développement et production.
Laravel Telescope (Debug - Dev)¶
URL : http://localhost:8010/telescope
Telescope capture en temps réel : - Requests : toutes les requêtes HTTP (entrante, réponse, temps) - Queries : requêtes SQL avec durée (alerte slow queries) - Jobs : exécution des queues Redis - Events : tous les Domain Events dispatched - Exceptions : stack traces complètes - Emails : aperçu des emails envoyés (sans envoi réel) - Cache : hits, misses, écriture
Développement uniquement
Telescope est activé uniquement en environnement local. En production, il peut être activé ponctuellement pour le debug.
Laravel Pulse (Performance)¶
URL : http://localhost:8010/pulse
Pulse fournit un dashboard de performance : - Slow requests : endpoints > 1000ms - Slow queries : requêtes SQL > 500ms - Failed jobs : jobs en erreur dans les queues - Exceptions : fréquence et types d'exceptions - Servers : CPU, mémoire, I/O
Alertes et seuils¶
| Métrique | Seuil d'alerte | Action |
|---|---|---|
| Requête lente | > 2000ms | Optimiser la query ou ajouter un index |
| Query SQL lente | > 500ms | Revoir avec EXPLAIN ANALYZE |
| Job fail rate | > 5% | Vérifier les logs, retry strategy |
| Erreur 5xx | > 1% des requêtes | Intervention immédiate |
Commandes de debug¶
# Voir les logs Laravel en temps réel
make shell-api
tail -f storage/logs/laravel.log
# Vider les caches
php artisan cache:clear
php artisan config:clear
php artisan route:clear
Visualiseur de logs admin¶
URL : http://localhost:3010/admin/logs (authentification admin requise)
L'interface admin intègre un visualiseur de logs qui permet de :
- Parcourir les fichiers de log journaliers (format
laravel-YYYY-MM-DD.log) - Filtrer par niveau de sévérité (emergency → debug)
- Rechercher par mot-clé dans les messages
- Inspecter le contexte JSON de chaque entrée (expand/collapse)
- Paginer les résultats (50 entrées par page)
Les logs sont configurés en mode daily avec une rétention de 14 jours (config/logging.php).
API
Endpoints : GET /api/v1/admin/logs et GET /api/v1/admin/logs/{date}. Voir API Admin — Logs pour la documentation complète.
Dashboard Analytics¶
URL : http://localhost:3010/admin/analytics (authentification admin requise)
Le dashboard analytics fournit des statistiques de fréquentation anonymisées :
- KPIs : visiteurs uniques, pages vues, durée moyenne, taux de rebond
- Courbe de tendance : évolution des visites par jour/semaine/mois
- Pages populaires : classement des pages les plus consultées
- Répartition appareils : desktop, mobile, tablet (pie chart)
- Sources de trafic : provenance des visiteurs (referrers)
Le tracking est anonyme (RGPD-friendly) : les IPs sont hashées avec la clé applicative, aucun lien avec les comptes utilisateur. Les données sont purgées automatiquement après 90 jours via la commande analytics:purge planifiée à 03h00.
API
Endpoint public de tracking : POST /api/v1/analytics/track (rate-limited à 60 req/min). Endpoints admin : GET /api/v1/admin/analytics/{overview,top-pages,trend,devices,sources}. Voir API Admin — Analytics pour la documentation complète.
Relancer les workers de queue¶
php artisan queue:restart ```