Ce document du framework d'architecture Google Cloud présente les principes opérationnels pour créer des alertes qui vous aident à exécuter des services fiables. Plus vous disposerez d'informations sur les performances de votre service, plus vos décisions seront éclairées en cas de problème. Concevez vos alertes pour une détection précoce et précise de tous les problèmes du système ayant un impact sur les utilisateurs, tout en réduisant les faux positifs.
Optimiser le délai d'alerte
Il existe un équilibre entre les alertes envoyées trop tôt qui exercent une pression sur l'équipe chargée des opérations, et les alertes envoyées trop tardivement qui entraînent de longues interruptions de service. Réglez le délai d'alerte avant que le système de surveillance n'avertisse les utilisateurs d'un problème afin de minimiser le temps de détection, tout en optimisant le rapport signal-bruit. Utilisez le taux de consommation de la marge d'erreur pour obtenir la configuration d'alerte optimale.
Alerter sur les symptômes plutôt que sur les causes
Déclenchez des alertes en fonction de l'impact direct sur l'expérience utilisateur. La non-conformité avec les SLO mondiaux ou ceux associés à chaque client indique un impact direct. Ne définissez pas d'alertes sur toutes les causes premières potentielles d'une défaillance, en particulier lorsque l'impact est limité à une seule instance dupliquée. En pareil cas, un système distribué bien conçu se rétablit de manière totalement transparente.
Alerter sur les valeurs aberrantes plutôt que sur les moyennes
Lorsque vous surveillez la latence, définissez des SLO et des alertes pour la latence au 90e, 95e ou 99e centile (en sélectionner deux sur trois), et non pour la latence moyenne ou au 50e centile. Des valeurs de latence moyennes ou médianes satisfaisantes peuvent masquer des valeurs trop élevées au 90e centile ou plus, ce qui nuit à l'expérience utilisateur. Par conséquent, vous devez appliquer ce principe d'alerte en cas de valeurs aberrantes lors de la surveillance de la latence pour toute opération critique, telle qu'une interaction requête-réponse avec un serveur Web, un traitement par lot dans un pipeline de traitement de données, ou une opération de lecture ou d'écriture sur un service de stockage.