Monitoring vs observabilité
Le monitoring traditionnel vérifie des métriques prédéfinies : le serveur est-il up ? Le CPU est-il surchargé ? L'observabilité va plus loin en permettant de comprendre le comportement interne d'un système à partir de ses sorties : logs, métriques et traces.
Les trois piliers de l'observabilité
- Logs : enregistrements détaillés des événements. Utilisez un format structuré (JSON) et centralisez-les avec ELK Stack ou Loki.
- Métriques : mesures numériques dans le temps (temps de réponse, taux d'erreur, utilisation mémoire). Prometheus + Grafana est le standard.
- Traces : suivi du parcours d'une requête à travers tous les services. Indispensable pour les architectures distribuées. Jaeger ou Tempo.
Application à un site web
Pour un site PHP/Laravel, une stack d'observabilité pragmatique :
- Uptime monitoring : Uptime Kuma (open source) ou Oh Dear pour la surveillance externe
- APM (Application Performance Monitoring) : Laravel Telescope en développement, Sentry en production pour le suivi des erreurs et performances
- Métriques serveur : Netdata ou Grafana Agent pour CPU, RAM, disque, réseau
- Logs applicatifs : Laravel Log vers un service centralisé (Papertrail, Logtail)
- Alerting : notifications Slack/email quand un seuil est dépassé
Les métriques clés à surveiller
- Temps de réponse P95 : le temps en dessous duquel 95% des requêtes sont servies
- Taux d'erreur 5xx : ne devrait jamais dépasser 0,1%
- Disponibilité : visez 99,9% (8h45 de downtime max par an)
- Utilisation disque : anticipez les saturations avant qu'elles ne surviennent
L'investissement en vaut la peine
Mettre en place l'observabilité prend 1 à 2 jours, mais vous fera gagner des heures à chaque incident. Savoir immédiatement pourquoi un site est lent ou plante est un avantage compétitif. Ne volez pas à l'aveugle.

