Aller au contenu

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 ```