Amazon AWS CloudWatch est un service qui a pour but de surveiller et de monitorer vos ressources et applications que vous exécutez sur AWS. CloudWatch met en place une surveillance en temps réel de vos différentes ressources, telles que vos instances EC2 ou RDS, vos équilibreurs de charges, etc.
Vous pouvez utiliser CloudWatch afin de collecter et de suivre différentes métriques, de surveiller vos journaux de diagnostic ou encore créer des alarmes pour être en mesure de réagir efficacement à tout changement dans vos ressources AWS.
Comment effectuer un suivi des performances ?
Amazon CloudWatch permet aux utilisateurs d’avoir une visibilité complète concernant l’utilisation de leurs ressources, les performances de leurs applications et la santé générale de leur infrastructure AWS.
Afin de comprendre comment cela fonctionne, il est important de comprendre ces concepts fondamentaux :
- Namespaces (espaces de noms) : il s’agit de conteneurs logiques pour les métriques. On peut les apparenter à des catégories ou des groupes de métriques associées à une application, un service ou une ressource particulière. Ils doivent être unique, et seront créés avant de pouvoir collecter des métriques.
- Metrics (métriques) : ce sont des données de performances transmises à CloudWatch. Elles peuvent inclure des informations sur les performances de diverses ressources AWS (instances EC2, bases DynamoDB, fonctions Lambda, etc). Elles sont identifiées par un nom, une unité de mesure, une dimension et un espace de noms.
- Dimensions (dimensions) : les dimensions sont des attributs de métriques supplémentaires qui peuvent être utilisées pour filtrer et segmenter leurs données. Ce sont des paires clé-valeur qui permettent de créer des vues personnalisées en fonction de différents attributs de votre environnement AWS.
- Statistics (statistiques) : il s’agit de valeurs calculées pour une métrique donnée sur une période de temps spécifiée. CloudWatch calcule automatiquement les statistiques pour toutes les métriques et les rend disponibles pour l’analyse et la surveillance.
- Percentiles (pourcentages) : ils mesurent la distribution des valeurs d’une métrique, sous la forme d’un pourcentage. Ils peuvent être utilisés pour comprendre les tendances de performances et les comportements anormaux des ressources AWS.
- Alarms (alarmes) : ce sont des règles de seuils au-delà desquelles une action automatisée est déclenchée dès lors qu’une métrique dépasse ou tombe en dessous d’un seuil spécifié. Il s’agit d’un outil essentiel pour la surveillance en temps réel des performances de vos ressources AWS.
On peut imaginer CloudWatch tel un entrepôt de métriques. Votre service AWS ira enregistrer ses métriques dans cet entrepôt, et vous obtiendrez ainsi des statistiques basées sur ces métriques.
Amazon CloudWatch Logs : la journalisation
CloudWatch Logs vous permet d’accéder, de surveiller, et de stocker des fichiers journaux (log files) depuis leur ressource AWS. Grâce à ces journaux vous serez en mesure de diagnostiquer vos systèmes et applications.
Voici quelques fonctionnalités de CloudWatch Logs :
Collecte de logs |
La collecte de logs peut s’effectuer depuis diverses sources, telles que des instances EC2, des conteneurs Docker, des services AWS ou des applications tierces. Il est nécessaire d’installer un agent (SSM) sur la source pour permettre l’envoi à CloudWatch. |
|
---|---|---|
Stockage des logs |
Les journaux collectés sont stockés dans des groupes de logs. Vous pouvez créer des groupes pour chaque application, service ou ressource que vous souhaitez surveiller. Ils sont conservés durant une durée définie (de quelques jours à plusieurs années). |
|
Recherche et filtrage |
Vous pouvez rechercher et filtrer dans vos journaux en utilisant des expressions de recherche avancées. | |
Visualisation des logs | Une interface graphique simple et conviviale est mise à votre disposition afin de visualiser vos journaux sous forme de graphiques et de tableaux de bord personnalisables. |
La surveillance au travers de ces fichiers journaux s’effectue en temps quasi réel, et vous pouvez rechercher des mots clés, des phrases spécifiques, ou encore des valeurs. Par ailleurs, les journaux CloudWatch peuvent être implémentés sans inclure de frais supplémentaire à votre compte AWS.
Les événements CloudWatch
Ils vont vous permettre d’accéder à des flux d’événements en temps quasi réel à mesure que votre environnement AWS évolue. Ils peuvent par la suite déclencher des notifications ou d’autres actions automatisées.
Les principaux composants des évènements CloudWatch sont les suivants :
Les événements | Ils sont générés de 4 manières distinctes, et sont représentés en tant que JSON :
|
|
---|---|---|
Les règles | Elles font correspondre les événements entrants et les redirigent vers une ou plusieurs cibles. Elles ne disposent pas d’ordre de traitement, chaque règle correspondant à un événement sera traitée | |
Les cibles | Elles traitent les événements qui sont spécifiés dans les règles. Initialement, 4 types de cibles existent : intégrés (built-in), les fonctions Lambda, les flux Kinesis et les topics SNS. Une seule règle peut spécifier plusieurs cibles. |
Quels sont les tarifs d'Amazon Cloudwatch ?
Amazon CloudWatch dispose d’une période d’essai qui devrait permettre de répondre à beaucoup de cas d’utilisation courant afin de tester le service. De plus, la plupart des services fournissent automatiquement et gratuitement des métriques à CloudWatch.
Le plan gratuit (qui, par ailleurs, n’expire jamais) vous donne accès au volume suivant :
- 10 métriques personnalisées
- 10 alarmes
- Un million de requêtes API
- 5 Go de stockage pour l’ingestion de logs et 5 Go pour l’archivage des logs
- 3 tableaux de bords, avec 50 métriques chacun par mois
Quant à l’offre payante, elle n’engage aucun frais minimum, et vous ne payez qu’à l’utilisation. La tarification du plan payant diffère en fonction de la région AWS dans laquelle vous vous trouvez. C’est pourquoi il est conseillé de vérifier la tarification en vigueurdans votre région, et il est à noter que chaque fonctionnalité de CloudWatch est tarifée différemment.
Conclusion
Amazon CloudWatch est d’une grande utilité en ce qui concerne la surveillance et les différentes tâches qui en découlent, pouvant vite se révéler chronophages et laborieuses. En permettant aux administrateurs de surveiller leurs métriques sur une large gamme de services AWS (ainsi que de permettre la création de métriques personnalisées), conjointement avec l’utilisation d’alarmes et de notifications, Amazon CloudWatch est un outil très puissant.