TawaKnow
AWSDevOpsContribuer

© 2025 TawaKnow. Tous droits réservés.

Mentions LégalesPolitique de confidentialitéContribuer
Retour au cours

AWS CloudWatch

Progression du cours0%

CloudWatch and the CloudWatch Agent

CloudWatch et CloudWatch Agent sont des services et outils fournis par Amazon Web Services (AWS) pour la surveillance et l'observabilité des ressources et applications. Voici une explication détaillée de chacun :


CloudWatch

CloudWatch est un service de surveillance et d'observabilité qui collecte et analyse des données de performance et d'opération à partir de vos ressources AWS (comme les instances EC2, les bases de données RDS, les fonctions Lambda, etc.) et des applications que vous exécutez sur AWS. Il vous permet de :

  1. Collecter des métriques : Mesurer des indicateurs de performance comme l'utilisation du CPU, la latence, le débit, etc.
  2. Consulter des logs : Stocker et analyser les logs générés par vos applications et services.
  3. Configurer des alertes : Créer des alarmes pour notifier ou agir en cas de problème (par exemple, si l'utilisation du CPU dépasse un certain seuil).
  4. Visualiser des données : Créer des tableaux de bord pour surveiller l'état de vos systèmes en temps réel.

CloudWatch est essentiel pour maintenir la santé et les performances de vos applications et infrastructures dans le cloud.


CloudWatch Agent

Le CloudWatch Agent est un logiciel que vous installez sur vos serveurs (comme les instances Amazon EC2) ou conteneurs pour collecter des données plus détaillées et personnalisées que celles fournies par défaut par CloudWatch. Il permet de :

  1. Collecter des métriques système : Par exemple, l'utilisation de la mémoire, du disque ou des processus.
  2. Collecter des logs personnalisés : Transmettre des logs spécifiques de vos applications vers CloudWatch.
  3. Surveiller des applications sur site : Même si vos ressources ne sont pas dans AWS, vous pouvez utiliser l'agent pour envoyer des données à CloudWatch.
  4. Fonctionner sur des conteneurs : L'agent peut être déployé sur des environnements conteneurisés comme Amazon ECS, Amazon EKS ou Kubernetes.

En résumé, le CloudWatch Agent étend les capacités de CloudWatch en permettant une surveillance plus granulaire et personnalisée.


Différence entre CloudWatch et CloudWatch Agent

  • CloudWatch est le service principal qui stocke, analyse et affiche les données de surveillance.
  • CloudWatch Agent est un outil optionnel que vous installez pour collecter des données supplémentaires et les envoyer à CloudWatch.

Ensemble, ils forment une solution puissante pour surveiller et optimiser vos applications et infrastructures.

Prérequis IAM recommandés

  • Instances gérées par Systems Manager : attachez AmazonSSMManagedInstanceCore.
  • Droits pour l'agent : CloudWatchAgentServerPolicy afin d'émettre métriques et logs.
  • Stockez la configuration amazon-cloudwatch-agent.json dans Parameter Store lorsque possible.

CloudWatch : comment ça fonctionne

Dans cette leçon, vous apprendrez comment fonctionne CloudWatch et comment l'agent CloudWatch fonctionne sur Amazon EC2 et d'autres technologies.

Agent CloudWatch sur les conteneurs

Si vous prévoyez de déployer l'agent CloudWatch sur des conteneurs, vous pouvez utiliser le processus de configuration suivant pour collecter des métriques et des logs.

Processus de configuration pour les conteneurs

Pour Amazon Elastic Container Service (Amazon ECS), déployez l'agent CloudWatch en tant que tâche de démon. Pour Amazon Elastic Kubernetes Service (Amazon EKS) ou Kubernetes, déployez l'agent en tant que DaemonSet. Pour les types de déploiement Amazon ECS sur AWS Fargate, déployez l'agent en tant que sidecar.

Container Insights est disponible pour les technologies Amazon ECS, Amazon EKS et Kubernetes sur Amazon EC2. Le cours AWS Observability: Alerting and Insights couvre Container Insights plus en détail.

Dans Amazon CloudWatch, les métriques et les termes clés sont essentiels pour comprendre comment le service fonctionne et comment il peut être utilisé pour surveiller vos ressources et applications. Voici une explication détaillée des concepts principaux :


Métriques dans CloudWatch

Les métriques sont des données numériques qui représentent les performances ou l'état d'une ressource ou d'une application. Elles sont collectées à intervalles réguliers (par exemple, toutes les minutes) et permettent de surveiller, analyser et déclencher des actions en fonction des tendances ou des seuils définis.

Exemples de métriques courantes

  1. Métriques d'Amazon EC2 :
    • CPUUtilization : Pourcentage d'utilisation du CPU.
    • NetworkIn et NetworkOut : Volume de données réseau entrant et sortant.
    • DiskReadOps et DiskWriteOps : Nombre d'opérations de lecture/écriture sur le disque.
  2. Métriques de RDS (Base de données) :
    • DatabaseConnections : Nombre de connexions actives à la base de données.
    • FreeStorageSpace : Espace de stockage disponible.
  3. Métriques personnalisées :
    • Vous pouvez publier vos propres métriques à partir de vos applications (par exemple, le nombre de requêtes par seconde ou le taux d'erreur).
  4. Métriques de conteneurs (Container Insights) :
    • MemoryUtilization : Utilisation de la mémoire par un conteneur.
    • CPUUsage : Utilisation du CPU par un conteneur.

Termes clés dans CloudWatch

Voici les principaux termes et concepts associés à CloudWatch :

  1. Namespace :
    • Un conteneur pour les métriques. Chaque métrique est stockée dans un namespace spécifique (par exemple, AWS/EC2 pour les métriques d'Amazon EC2).
  2. Dimensions :
    • Des paires clé-valeur qui identifient une métrique de manière unique. Par exemple, pour une instance EC2, une dimension pourrait être InstanceId=i-1234567890abcdef0.
  3. Alarmes (Alarms) :
    • Des notifications ou actions automatisées déclenchées lorsque une métrique dépasse un seuil défini (par exemple, une alerte si l'utilisation du CPU dépasse 80 %).
  4. Logs :
    • Des enregistrements horodatés d'événements ou d'activités. CloudWatch Logs permet de collecter, stocker et analyser les logs de vos applications et services.
  5. Tableaux de bord (Dashboards) :
    • Des interfaces personnalisables pour visualiser les métriques et les logs en temps réel.
  6. Événements (Events) :
    • Des notifications en temps réel en réponse à des changements dans vos ressources AWS. Par exemple, un événement peut être déclenché lorsqu'une instance EC2 change d'état.
  7. Flux de logs (Log Streams) :
    • Une séquence de logs provenant d'une même source (par exemple, une instance EC2 ou une fonction Lambda).
  8. Groupes de logs (Log Groups) :
    • Un conteneur pour les flux de logs. Par exemple, tous les logs d'une application peuvent être regroupés dans un seul groupe de logs.
  9. Métriques embarquées (Embedded Metrics) :
    • Un format structuré pour inclure des métriques directement dans les logs, ce qui facilite leur analyse.
  10. Container Insights :
    • Une fonctionnalité de CloudWatch qui fournit des métriques et des logs détaillés pour les conteneurs exécutés sur Amazon ECS, Amazon EKS ou Kubernetes.
  11. Contributor Insights :
    • Une fonctionnalité qui analyse les logs pour identifier les principaux contributeurs à un problème (par exemple, les adresses IP qui génèrent le plus d'erreurs).

Cas d'utilisation des métriques et termes

  • Surveillance des performances : Utiliser des métriques comme CPUUtilization pour surveiller la santé des instances EC2.
  • Dépannage : Analyser les logs pour identifier la cause d'une erreur dans une application.
  • Automatisation : Configurer des alarmes pour redémarrer une instance EC2 si elle devient indisponible.
  • Optimisation des coûts : Surveiller l'utilisation des ressources pour identifier les gaspillages.

En résumé, les métriques et les termes clés de CloudWatch forment un ensemble d'outils puissants pour surveiller, analyser et optimiser vos ressources et applications dans AWS.

Rétention des métriques dans CloudWatch

Vous pouvez publier et stocker des métriques personnalisées avec une résolution allant jusqu'à 1 seconde. CloudWatch conserve les données de métriques selon les règles suivantes :

  • Points de données avec une période inférieure à 60 secondes : Disponibles pendant 3 heures.
  • Points de données avec une période de 1 minute : Disponibles pendant 15 jours.
  • Points de données avec une période de 5 minutes : Disponibles pendant 63 jours.
  • Points de données avec une période de 1 heure : Disponibles pendant 455 jours (15 mois).

Agrégation des données pour le stockage à long terme

Les points de données initialement collectés avec une période plus courte sont agrégés pour le stockage à long terme. Par exemple :

  1. Si vous collectez des données avec une période de 1 minute, les données restent disponibles pendant 15 jours avec une résolution de 1 minute.
  2. Après 15 jours, les données sont agrégées et ne sont récupérables qu'avec une résolution de 5 minutes.
  3. Après 63 jours, les données sont encore agrégées et ne sont disponibles qu'avec une résolution de 1 heure.

Exemple concret

  • Si vous surveillez l'utilisation du CPU d'une instance EC2 avec une résolution de 1 minute, vous pouvez accéder aux données minute par minute pendant 15 jours.
  • Après 15 jours, vous ne pourrez accéder qu'aux données agrégées par tranches de 5 minutes.
  • Après 63 jours, les données seront disponibles par tranches de 1 heure.

Pourquoi cette agrégation ?

Cette approche permet à CloudWatch d'optimiser le stockage tout en conservant les données historiques pour des analyses à long terme. Cela équilibre la granularité des données et les coûts de stockage.


En résumé, CloudWatch offre une flexibilité dans la collecte et la rétention des métriques, mais il est important de comprendre comment les données sont agrégées au fil du temps pour planifier vos analyses et vos besoins de surveillance.

AWS Comparaison des donneesAWS Percentiles CloudWatch