Tableaux de bord CloudWatch et Container Insights
Créez des tableaux de bord opérationnels couvrant plusieurs services et activez Container Insights pour obtenir les métriques de performance au niveau des clusters ECS et EKS.
Tableaux de bord CloudWatch et Container Insights est une leçon AWS Solutions Architect gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AWS Solutions Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AWS Solutions Architect comprend 4 leçons au total.
Présentation des tableaux de bord CloudWatch
Les tableaux de bord CloudWatch sont des vues personnalisables composées de plusieurs widgets de votre infrastructure AWS, qui fournissent une vision opérationnelle unifiée. Un tableau de bord peut afficher, sur un seul écran, des métriques provenant de plusieurs services et comptes AWS au moyen de graphiques linéaires, de widgets numériques, de jauges, d’alarmes et de résultats de requêtes de journaux. Les tableaux de bord sont des ressources globales : un même tableau de bord peut afficher les métriques de n’importe quelle Région. Vous pouvez partager les tableaux de bord publiquement ou en restreindre l’accès au moyen de politiques IAM.
Widgets des tableaux de bord
Les tableaux de bord CloudWatch prennent en charge plusieurs types de widgets : des graphiques linéaires et en aires empilées pour les métriques de séries temporelles, des widgets numériques pour la dernière valeur d’une métrique (idéal pour les KPI), des graphiques à barres pour les comparaisons, des jauges pour les indicateurs de capacité, l’état des alarmes pour afficher un résumé de leurs états, des tableaux de journaux pour les résultats de Live Tail ou de requêtes Insights, ainsi que du texte pour les libellés et la documentation. La combinaison de plusieurs types de widgets dans un même tableau de bord aide les équipes à évaluer l’état du système en un coup d’œil.
# Create a dashboard via CLI (body must be escaped JSON)
aws cloudwatch put-dashboard \
--dashboard-name ProductionOverview \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [["AWS/EC2","CPUUtilization","AutoScalingGroupName","my-asg"]],
"period": 60,
"stat": "Average",
"title": "ASG CPU Utilization"
}
}
]
}'Tableaux de bord entre comptes et entre Régions
CloudWatch prend en charge l’observabilité entre comptes au moyen de comptes de surveillance et de comptes sources. Vous pouvez désigner un compte de surveillance central, y associer des comptes sources et créer des tableaux de bord qui récupèrent les métriques et les journaux de tous les comptes associés. Il n’est ainsi plus nécessaire de changer de compte dans la console pour surveiller un environnement comprenant plusieurs comptes. Les widgets entre Régions au sein d’un même compte sont pris en charge nativement : il suffit de spécifier la Région dans la définition JSON du tableau de bord.
# Enable cross-account sharing in a source account
aws cloudwatch put-dashboard \
--dashboard-name MultiRegionView \
--dashboard-body '{
"widgets": [
{
"type": "metric",
"properties": {
"metrics": [
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db",{"region":"us-east-1"}],
["AWS/RDS","DatabaseConnections","DBInstanceIdentifier","prod-db-eu",{"region":"eu-west-1"}]
],
"title": "DB Connections: us-east-1 vs eu-west-1"
}
}
]
}'CloudWatch Live Tail
CloudWatch Live Tail (lancé en 2023) vous permet de diffuser les événements de journaux d’un ou plusieurs groupes de journaux presque en temps réel, directement dans la console CloudWatch ou la CLI — comme si vous exécutiez tail -f sur un fichier de journaux. Vous pouvez appliquer un modèle de filtre pour n’afficher que les événements correspondants. Live Tail est particulièrement utile pendant les déploiements ou les investigations d’incidents, lorsque vous devez observer immédiatement le comportement d’une application sans exécuter de requêtes Insights complètes.
# Start a Live Tail session for a Lambda function's logs
aws logs start-live-tail \
--log-group-identifiers '/aws/lambda/my-function' \
--log-event-filter-pattern 'ERROR'
# The output streams log events in real time until you cancel (Ctrl+C)Qu’est-ce que Container Insights ?
CloudWatch Container Insights est une fonctionnalité de CloudWatch qui collecte, agrège et résume les métriques et les journaux des charges de travail conteneurisées exécutées sur Amazon ECS (EC2 et Fargate) et Amazon EKS (EC2 et Fargate). Elle fournit des tableaux de bord prédéfinis pour les performances au niveau du cluster, du service, du nœud et du pod, sans vous obliger à instrumenter manuellement chaque application. Container Insights utilise l’agent CloudWatch ou le routeur de journaux EKS Fargate pour collecter les données.
# Enable Container Insights on an ECS cluster
aws ecs update-cluster-settings \
--cluster my-ecs-cluster \
--settings name=containerInsights,value=enabled
# Enable Container Insights on EKS (via CloudWatch Agent DaemonSet)
eksctl utils update-cluster-logging \
--cluster my-eks-cluster \
--enable-types all \
--region us-east-1Métriques de Container Insights
Container Insights collecte les métriques dans les espaces de noms ECS/ContainerInsights et ContainerInsights. Pour EKS, elles comprennent : au niveau du pod — pod_cpu_utilization, pod_memory_utilization, pod_network_rx_bytes ; au niveau du nœud — node_cpu_utilization, node_memory_utilization, node_filesystem_utilization ; au niveau du cluster — cluster_failed_node_count, cluster_node_count. Toutes les métriques sont étiquetées avec les dimensions du cluster, de l’espace de noms, du service et du pod afin de permettre un filtrage précis.
# Query pod memory utilization for a specific namespace
aws cloudwatch get-metric-statistics \
--namespace ContainerInsights \
--metric-name pod_memory_utilization \
--dimensions \
Name=ClusterName,Value=my-cluster \
Name=Namespace,Value=production \
--statistic Average \
--period 60 \
--start-time 2024-01-01T00:00:00Z \
--end-time 2024-01-01T01:00:00ZTableaux de bord Container Insights dans la console
Lorsque Container Insights est activé, la console CloudWatch fournit automatiquement les vues prédéfinies Container Map et Performance Monitoring. Container Map affiche vos tâches ECS ou vos pods EKS sous la forme d’une topologie visuelle, dont les couleurs indiquent l’état de santé, avec la possibilité d’examiner les métriques de chaque conteneur. La vue Performance Monitoring fournit des graphiques de séries temporelles des performances du cluster, des nœuds, des pods et des conteneurs, sans aucune configuration manuelle de tableau de bord.
Performances des tâches ECS avec Container Insights
Pour ECS sur EC2, Container Insights installe l’agent CloudWatch en tant que service démon sur chaque instance de conteneur. Pour ECS sur Fargate, Container Insights utilise le collecteur de métriques secondaire de la version 1.4.0 de la plateforme Fargate. Vous accédez aux métriques ECS selon la dimension du cluster, du service, de la tâche ou du conteneur. Un modèle d’alerte courant consiste à déclencher une alarme lorsque MemoryUtilized s’approche de la valeur MemoryReserved de la tâche, afin de détecter d’éventuelles conditions OOM avant qu’elles n’entraînent l’arrêt des tâches.
# Get memory reservation and utilisation for a service
aws cloudwatch get-metric-statistics \
--namespace ECS/ContainerInsights \
--metric-name MemoryUtilized \
--dimensions Name=ClusterName,Value=my-cluster Name=ServiceName,Value=api-service \
--statistic Average \
--period 300 \
--start-time $(date -u -d '1 hour ago' +%Y-%m-%dT%H:%M:%SZ) \
--end-time $(date -u +%Y-%m-%dT%H:%M:%SZ)Application Signals et ServiceLens
CloudWatch ServiceLens intègre les métriques, les journaux et les traces dans une carte de services unifiée. Il nécessite l’activation de AWS X-Ray avec CloudWatch. ServiceLens visualise les flux de requêtes de bout en bout entre les services, met en évidence les goulots d’étranglement liés à la latence et affiche les taux d’erreur par service. CloudWatch Application Signals (son successeur plus récent) instrumente automatiquement les applications afin d’exposer les SLO et les SLI sans modification du code, ce qui permet de suivre la fiabilité au-delà des métriques brutes.
Bonnes pratiques pour les tableaux de bord
Les tableaux de bord CloudWatch efficaces suivent ces bonnes pratiques : séparez les tableaux de bord selon leur public (exploitation, direction ou développement), utilisez les widgets d’état des alarmes comme premier élément consulté par les équipes d’astreinte, épinglez les tableaux de bord pour y accéder fréquemment et utilisez les références dynamiques avec CloudFormation afin que les références aux métriques du tableau de bord restent cohérentes avec les noms réels des ressources. Évitez de surcharger un seul tableau de bord : la lisibilité est essentielle lorsque vous diagnostiquez un incident sous pression.
CloudWatch Contributor Insights
CloudWatch Contributor Insights analyse les données de journaux structurées afin d’identifier au fil du temps les N principaux contributeurs à une métrique. Par exemple, il peut indiquer quelles adresses IP génèrent le plus d’erreurs 5xx, quels chemins d’API enregistrent le plus grand volume de requêtes ou quels identifiants client provoquent le plus de limitations DynamoDB. Les règles définissent le champ JSON à extraire et sur lequel effectuer l’agrégation. Les résultats apparaissent sous forme de graphiques de séries temporelles qui se mettent continuellement à jour à mesure que de nouvelles données de journaux arrivent.
# Enable Contributor Insights on a DynamoDB table
aws dynamodb enable-kinesis-streaming-destination \
--table-name my-table
# Or enable CloudWatch Contributor Insights via the console:
# CloudWatch -> Contributor Insights -> Create rule
# Log group: /aws/dynamodb/tables
# Contributor field: $.TableName
# Aggregation: COUNT by $.requestIDVérification rapide
Testez votre compréhension des concepts d’architecte de solutions AWS (SAA-C03) abordés dans cette leçon.
Récapitulatif de la leçon
Dans cette leçon, vous avez appris que les tableaux de bord CloudWatch prennent en charge plusieurs types de widgets et peuvent agréger des métriques entre comptes et Régions, que Container Insights collecte automatiquement les métriques au niveau des pods et des nœuds depuis ECS et EKS sans instrumentation manuelle, et que Contributor Insights identifie les principaux contributeurs à partir de données de journaux structurées. Nous allons maintenant découvrir les Trails CloudTrail et l’historique des événements pour l’audit au niveau des API.
Questions Fréquemment Posées
La leçon « Tableaux de bord CloudWatch et Container Insights » est-elle gratuite ?
Oui — le texte complet de « Tableaux de bord CloudWatch et Container Insights » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AWS Solutions Architect, passe à CoddyKit PRO. Le cours AWS Solutions Architect comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Tableaux de bord CloudWatch et Container Insights » ?
Créez des tableaux de bord opérationnels couvrant plusieurs services et activez Container Insights pour obtenir les métriques de performance au niveau des clusters ECS et EKS. Tu pratiques AWS Solutions Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AWS Solutions Architect ?
Aucune expérience préalable n'est requise. AWS Solutions Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Tableaux de bord CloudWatch et Container Insights » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AWS Solutions Architect ?
Oui. Chaque leçon AWS Solutions Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Métriques, espaces de noms et dimensions CloudWatch
- Alarmes CloudWatch et alarmes composites
- Journaux CloudWatch et Log Insights
- Tableaux de bord CloudWatch et Container Insights