Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
REL06-BP02 Définir et calculer des métriques (agrégation)
Collectez les métriques et les journaux des composants de votre charge de travail, et calculez des métriques agrégées pertinentes à partir de ces derniers. Ces métriques permettent une observabilité large et approfondie de votre charge de travail et peuvent améliorer de manière significative votre posture de résilience.
L’observabilité ne se limite pas à collecter des métriques à partir des composants de votre charge de travail et à être en mesure de les visualiser et d’émettre des alertes à leur sujet. Elle permet de bénéficier d’une compréhension globale du comportement de votre charge de travail. Ces informations comportementales proviennent de tous les composants de vos charges de travail, notamment des services cloud dont elles dépendent, des journaux bien conçus et des métriques. Ces données vous permettent de surveiller le comportement de votre charge de travail dans son ensemble et de comprendre de manière détaillée l’interaction de chaque composant avec chaque unité de travail.
Résultat escompté :
-
Vous collectez les journaux des composants de votre charge de travail et des dépendances des services AWS, et vous les publiez dans un emplacement central où ils peuvent être facilement consultés et traités.
-
Vos journaux contiennent des horodatages fidèles et précis.
-
Vos journaux contiennent des informations pertinentes sur le contexte du traitement, telles qu’un identifiant de suivi, un identifiant d’utilisateur ou de compte et une adresse IP distante.
-
Vous créez des métriques agrégées à partir de vos journaux qui représentent le comportement de votre charge de travail d’un point de vue général.
-
Vous pouvez interroger vos journaux agrégés pour obtenir des informations approfondies et pertinentes sur votre charge de travail et identifier les problèmes réels et potentiels.
Anti-modèles courants :
-
Vous ne collectez pas de métriques ou de journaux pertinents à partir des instances de calcul sur lesquelles vos charges de travail s’exécutent ou des services cloud qu’elles utilisent.
-
Vous négligez la collecte des journaux et métriques liés à vos indicateurs de performances clés (KPI) métier.
-
Vous analysez la télémétrie liée à la charge de travail de manière isolée, sans agrégation ni corrélation.
-
Vous laissez les métriques et les journaux expirer trop rapidement, ce qui entrave l’analyse des tendances et l’identification des problèmes récurrents.
Avantages du respect de ces bonnes pratiques : vous pouvez détecter davantage d’anomalies et corréler les événements et les métriques entre les différents composants de votre charge de travail. Vous pouvez créer des informations exploitables à partir des composants de votre charge de travail en vous basant sur les informations contenues dans les journaux, qui ne sont souvent pas disponibles dans les métriques seules. Vous pouvez déterminer plus rapidement les causes des défaillances en interrogeant vos journaux à grande échelle.
Niveau d’exposition au risque si ces bonnes pratiques ne sont pas respectées : élevé
Directives d’implémentation
Identifiez les sources des données de télémétrie pertinentes pour vos charges de travail et leurs composants. Ces données proviennent non seulement des composants qui publient des métriques, tels que votre système d’exploitation (OS) et les environnements d’exécution d’applications tels que Java, mais également des journaux des applications et des services cloud. Par exemple, les serveurs Web enregistrent généralement chaque demande avec des informations détaillées telles que l’horodatage, la latence de traitement, l’ID utilisateur, l’adresse IP distante, le chemin et la chaîne de requête. Le niveau de détail de ces journaux vous permet d’effectuer des requêtes détaillées et de générer des métriques qui n’auraient peut-être pas été disponibles autrement.
Collectez les métriques et les journaux à l’aide d’outils et de processus appropriés. Les journaux générés par les applications exécutées sur une instance Amazon EC2 peuvent être collectés par un agent tel que l’agent Amazon CloudWatch et publiés dans un service de stockage central tel qu’Amazon CloudWatch Logs. Les services de calcul gérés par AWS tels qu’AWS Lambda
Enrichissez vos données de télémétrie avec des dimensions qui peuvent vous aider à mieux identifier les modèles comportementaux et à isoler les problèmes corrélés à des groupes de composants associés. Une fois ces dimensions ajoutées, vous pouvez observer le comportement des composants de manière plus détaillée, détecter les défaillances corrélées et prendre les mesures correctives appropriées. La zone de disponibilité, l’ID d’instance EC2 et l’ID de pod ou de tâche de conteneur sont des exemples de dimensions utiles.
Une fois que vous avez collecté les métriques et les journaux, vous pouvez rédiger des requêtes et générer des métriques agrégées à partir de ces éléments pour fournir des informations exploitables utiles sur les comportements normaux et anormaux. Par exemple, vous pouvez utiliser Amazon CloudWatch Logs Insights pour dériver des métriques personnalisées des journaux de vos applications, Amazon CloudWatch Metrics Insights pour interroger vos métriques à grande échelle, Amazon CloudWatch Container Insights pour collecter, agréger et résumer les métriques et les journaux de vos applications et microservices conteneurisés, ou Amazon CloudWatch Lambda Insights si vous utilisez des fonctions AWS Lambda. Pour créer une métrique de taux d’erreur agrégé, vous pouvez incrémenter un compteur chaque fois qu’une réponse ou un message d’erreur est détecté dans les journaux de vos composants ou calculer la valeur agrégée d’une métrique de taux d’erreur existante. Vous pouvez utiliser ces données pour générer des histogrammes illustrant le comportement de queue, par exemple les demandes ou les processus les moins performants. Vous pouvez également analyser ces données en temps réel pour détecter des modèles anormaux à l’aide de solutions telles que la détection des anomalies de CloudWatch Logs. Il est possible de placer ces informations exploitables dans des tableaux de bord afin de les organiser en fonction de vos besoins et préférences.
L’interrogation des journaux peut vous aider à comprendre comment des demandes spécifiques ont été traitées par les composants de votre charge de travail et à révéler les modèles de demandes ou tout autre contexte ayant un impact sur la résilience de votre charge de travail. Il peut être utile d’étudier et de préparer des requêtes à l’avance, en fonction de votre connaissance des comportements de vos applications et des autres composants, afin de pouvoir les utiliser plus facilement en cas de besoin. Par exemple, CloudWatch Logs Insights vous permet de rechercher et d’analyser de façon interactive les données de vos journaux dans CloudWatch Logs. Vous pouvez également utiliser Amazon Athena
Lorsque vous définissez une politique de conservation des journaux, tenez compte de la valeur des journaux d’historique. Les journaux d’historique peuvent aider à identifier les modèles d’utilisation et comportementaux à long terme, les régressions et les améliorations des performances de votre charge de travail. Les journaux définitivement supprimés ne peuvent pas être analysés ultérieurement. Toutefois, la valeur des journaux d’historique tend à diminuer sur de longues périodes. Choisissez une politique capable d’équilibrer vos besoins de manière appropriée et conforme à toutes les exigences légales ou contractuelles auxquelles vous pourriez être soumis.
Étapes d’implémentation
-
Choisissez des mécanismes de collecte, de stockage, d’analyse et d’affichage de vos données d’observabilité.
-
Installez et configurez des collecteurs de métriques et de journaux sur les composants appropriés de votre charge de travail (par exemple, sur les instances Amazon EC2 et dans les conteneurs sidecar
). Configurez ces collecteurs pour qu’ils redémarrent automatiquement s’ils s’arrêtent de façon inattendue. Activez la mise en mémoire tampon du disque ou de la mémoire pour les collecteurs afin que les échecs de publication temporaires n’aient pas d’impact sur vos applications ou n’entraînent aucune perte de données. -
Activez la journalisation sur les services AWS que vous utilisez dans le cadre de vos charges de travail et transférez ces journaux au service de stockage que vous avez sélectionné si nécessaire. Reportez-vous au guide d’utilisateur ou au manuel du développeur des services respectifs pour obtenir des instructions détaillées.
-
Définissez les métriques opérationnelles pour vos charges de travail en fonction de vos données de télémétrie. Elles peuvent être basées sur des métriques directes émises par les composants de votre charge de travail, qui peuvent inclure des métriques liées aux KPI métier, ou sur les résultats de calculs agrégés tels que des sommes, des taux, des centiles ou des histogrammes. Calculez ces métriques à l’aide de votre analyseur de journaux et placez-les dans des tableaux de bord, de façon appropriée.
-
Préparez des requêtes de journaux appropriées pour analyser les composants de la charge de travail, les demandes ou le comportement des transactions selon les besoins.
-
Définissez et activez une politique de conservation des journaux pour les journaux de vos composants. Supprimez régulièrement les journaux lorsqu’ils sont plus anciens que la politique ne l’autorise.
Ressources
Bonnes pratiques associées :
-
REL06-BP01 Surveiller tous les composants de la charge de travail (génération)
-
REL06-BP03 Envoyer des notifications (traitement et alarmes en temps réel)
-
REL06-BP04 Automatiser les réponses (traitement et alarmes en temps réel)
-
REL06-BP06 Passer régulièrement en revue la portée et les métriques de surveillance
-
REL06-BP07 Surveiller le suivi de bout en bout des demandes via votre système
Documentation connexe :
Ateliers connexes :
Outils associés :