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.

Partager