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.
CloudWatch solution : Amazon EC2 Health
Cette solution vous permet de configurer la collecte de out-of-the-box métriques à l'aide d' CloudWatch agents pour les charges de travail exécutées sur des EC2 instances. En outre, il vous aide à configurer un tableau de CloudWatch bord préconfiguré.
Rubriques
Prérequis
Cette solution est pertinente pour les conditions suivantes :
Calcul : Amazon EC2
Plateforme : Linux et macOS
Prend en charge jusqu'à 500 EC2 instances dans une même instance Région AWS
Dernière version de l' CloudWatch agent
-
Agent SSM installé sur l'instance EC2
Note
AWS Systems Manager (agent SSM) est préinstallé sur certaines Amazon Machine Images (AMIs) fournies par des tiers AWS de confiance. Si l’agent n’est pas installé, vous pouvez l’installer manuellement à l’aide de la procédure correspondant à votre type de système d’exploitation.
Avantages
La solution assure la surveillance des EC2 serveurs à l'aide de l' CloudWatch agent, en fournissant des métriques supplémentaires au niveau du système en plus des métriques d'espace de EC2 noms standard pour les cas d'utilisation suivants :
Détecter les problèmes de performance de l’UC et les contraintes de ressources.
Surveillez l'utilisation des disques et la capacité de stockage sur les différents disques de vos EC2 instances.
Suivre les schémas d’utilisation de la mémoire et les fuites de mémoire potentielles.
Analysez I/O les opérations et leur impact sur les performances globales.
Observer les modèles de trafic réseau et les anomalies potentielles.
Vous trouverez ci-dessous les principaux avantages de la solution :
-
Automatise la collecte des métriques pour les EC2 instances en éliminant l'instrumentation manuelle.
-
Fournit un tableau de CloudWatch bord consolidé préconfiguré pour les métriques d' EC2 instance. Le tableau de bord gérera automatiquement les métriques des nouvelles EC2 instances configurées à l'aide de la solution, même si ces métriques n'existent pas lorsque vous créez le tableau de bord pour la première fois. Il vous permet également d'observer des EC2 instances gérées via des groupes Auto Scaling.
L’image suivante est un exemple de tableau de bord pour cette solution.
Coûts
Cette solution crée et utilise des ressources dans votre compte. Les coûts d’utilisation standard vous sont facturés, y compris les éléments suivants :
-
Toutes les mesures collectées par l' CloudWatch agent sont facturées en tant que mesures personnalisées. Le nombre de métriques utilisées par cette solution dépend du nombre d' EC2 hôtes.
Le nombre total de métriques d' CloudWatch agents dépend de la configuration des disques. Si l’on exclut les métriques de disque et de diskio, la solution diffuse six métriques. Le nombre de métriques de disque (
disk_used_percent,disk_inodes_free) dépend du décompte des dimensionsdevice/fstype/path. La métrique diskio (diskio_io_time) dépend du nombre de dimensionsname. Par exemple, un seul t2.micro avec des paramètres par défaut en fonction de l'expérience de la EC2 console produit un total de 22 métriques d' CloudWatch agent (4 CPU, 12 disques, 4 diskio, 1 mémoire et 1 swap). Les métriques fournies à la demande, commeAWS/EC2, le sont gratuitement. Un tableau de bord personnalisé.
-
Opérations d'API demandées par l' CloudWatch agent pour publier les métriques. Avec la configuration par défaut de cette solution, l' CloudWatch agent appelle le PutMetricDataune fois par minute. Cela signifie que l'PutMetricDataAPI sera appelée
30*24*60=43,200dans un délai de 30 jours par mois pour chaque EC2 hôte.
Pour plus d'informations sur CloudWatch les tarifs, consultez Amazon CloudWatch Pricing
Le calculateur de prix peut vous aider à estimer les coûts mensuels approximatifs de l’utilisation de cette solution.
Pour utiliser le calculateur de prix afin d’estimer les coûts mensuels de votre solution
-
Ouvrez le calculateur CloudWatch de prix Amazon
. -
Dans la section Métriques, pour Nombre de métriques, entrez
(6 + total count of disk and diskio metrics per EC2 host as described above) * number of EC2 instances configured for this solution. -
Dans la APIssection, pour Nombre de demandes d'API, entrez
43200 * number of EC2 instances configured for this solution. -
Par défaut, la solution effectue une PutMetricDataopération par minute pour chaque EC2 hôte.
-
Dans la section Tableaux de bord et alarmes, pour Nombre de tableaux de bord, entrez
1. -
Vous pouvez voir vos coûts mensuels estimés en bas du calculateur de prix.
CloudWatch configuration de l'agent pour cette solution
L' CloudWatch agent est un logiciel qui s'exécute de manière continue et autonome sur vos serveurs et dans des environnements conteneurisés. Il collecte des métriques, des journaux et des traces à partir de votre infrastructure et de vos applications et les envoie à CloudWatch X-Ray.
Pour plus d'informations sur l' CloudWatch agent, consultez la section Collecter les métriques, les journaux et les traces avec l' CloudWatch agent.
La configuration de l'agent de cette solution collecte un ensemble de métriques pour vous aider à commencer à surveiller et à observer vos EC2 instances. L' CloudWatch agent peut être configuré pour collecter plus de EC2 métriques que ce que le tableau de bord affiche par défaut. Pour obtenir la liste des EC2 statistiques Amazon, consultez la section Mesures collectées par l' CloudWatch agent sur les instances Linux et macOS. Pour plus d'informations sur les mesures collectées sur les instances Windows, consultez la section Mesures collectées par l' CloudWatch agent sur les instances Windows Server.
Configuration de l'agent pour EC2 la solution Health
Les métriques collectées par l’agent sont définies dans la configuration de l’agent. La solution fournit des configurations d’agent pour collecter les métriques recommandées avec des dimensions appropriées pour le tableau de bord de la solution.
Les étapes du déploiement de la solution sont décrites plus loin dans Déployer l’agent pour votre solution. Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l’agent en fonction de votre environnement.
Note
Si une EC2 instance ne fait pas partie d'un groupe Auto Scaling, l' CloudWatch agent supprime complètement la AutoScalingGroupName dimension. Ce comportement permet d'empêcher les noms de dimension contenant des null/empty valeurs. Chaque widget de métrique inclus dans le tableau de bord de la solution recherche les métriques qui incluent et excluent la dimension AutoScalingGroup. Cela permet de garantir que toutes les EC2 instances dans lesquelles la solution est appliquée sont prises en charge par le même tableau de bord.
Si vous souhaitez modifier la configuration de l’agent, vous devez appliquer les mêmes modifications au tableau de bord de la solution. Par exemple, si vous décidez d'omettre la ImageId dimension, celle-ci doit être supprimée de l'expression de recherche métrique utilisée dans les widgets du tableau de bord.
Configuration de l'agent pour les EC2 instances
Utilisez la configuration d' CloudWatch agent suivante sur les EC2 instances Amazon sur lesquelles vos charges de travail sont déployées.
{ "agent": { "metrics_collection_interval": 60, "run_as_user": "cwagent" }, "metrics": { "append_dimensions": { "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "ImageId": "${aws:ImageId}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "cpu": { "measurement": [ "cpu_usage_idle", "cpu_usage_iowait", "cpu_usage_user", "cpu_usage_system" ], "totalcpu": true }, "disk": { "measurement": [ "used_percent", "inodes_free" ], "resources": [ "*" ], "dimensions": [ ["device", "fstype", "path"] ] }, "diskio": { "measurement": [ "io_time" ], "resources": [ "*" ] }, "mem": { "measurement": [ "used_percent" ] }, "swap": { "measurement": [ "used_percent" ] } } } }
Déployer l’agent pour votre solution
Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous vous recommandons d’utiliser Systems Manager pour cette solution. Il fournit une expérience de console et simplifie la gestion d'un parc de serveurs gérés au sein d'un seul AWS compte. Les instructions de cette section utilisent Systems Manager et sont destinées aux situations où l' CloudWatch agent n'est pas exécuté avec des configurations existantes. Vous pouvez vérifier si l' CloudWatch agent est en cours d'exécution en suivant les étapes décrites dans Vérifier que l' CloudWatch agent est en cours d'exécution.
Si vous exécutez déjà l' CloudWatch agent sur les EC2 hôtes et que vous gérez les configurations de l'agent, vous pouvez ignorer les instructions de cette section et suivre votre mécanisme de déploiement existant pour mettre à jour la configuration. Assurez-vous de fusionner la configuration de l'agent EC2 Health avec votre configuration d'agent existante, puis de déployer la configuration fusionnée. Si vous utilisez Systems Manager pour stocker et gérer la configuration de l' CloudWatch agent, vous pouvez fusionner la configuration avec la valeur de paramètre existante. Pour plus d'informations, consultez la section Gestion des fichiers de configuration des CloudWatch agents.
Note
L'utilisation de Systems Manager pour déployer les configurations d' CloudWatch agent suivantes remplacera ou remplacera toute configuration d' CloudWatch agent existante sur vos EC2 instances. Vous pouvez modifier cette configuration pour l’adapter à votre environnement unique ou à votre cas d’utilisation. Les métriques définies dans la configuration sont le minimum requis pour le tableau de bord fourni la solution.
Le processus de déploiement comprend les étapes suivantes :
Étape 1 : Assurez-vous que les EC2 instances cibles disposent des autorisations IAM requises.
Étape 2 : stockez le fichier de configuration de l’agent recommandé dans le magasin de paramètres de Systems Manager.
Étape 3 : installez l' CloudWatch agent sur une ou plusieurs EC2 instances à l'aide d'une CloudFormation pile.
Étape 4 : vérifiez que l’installation de l’agent est configurée correctement.
Étape 1 : Assurez-vous que les EC2 instances cibles disposent des autorisations IAM requises
Vous devez autoriser Systems Manager à installer et configurer l' CloudWatch agent. Vous devez également autoriser l' CloudWatch agent à publier des données télémétriques depuis votre EC2 instance vers. CloudWatch Assurez-vous que le rôle IAM associé à l'instance est associé aux politiques Amazon SSMManaged InstanceCore IAM CloudWatchAgentServerPolicyet Amazon.
-
Une fois le rôle créé, attachez-le à vos EC2 instances. Pour associer un rôle à une EC2 instance, suivez les étapes décrites dans Attacher un rôle IAM à une instance.
Étape 2 : enregistrer le fichier de configuration d' CloudWatch agent recommandé dans le magasin de paramètres de Systems Manager
Parameter Store simplifie l'installation de l' CloudWatch agent sur une EC2 instance en stockant et en gérant de manière sécurisée les paramètres de configuration, éliminant ainsi le besoin de valeurs codées en dur. Cela garantit un processus de déploiement plus sûr et plus flexible, permettant une gestion centralisée et des mises à jour plus faciles des configurations sur plusieurs instances.
Procédez comme suit pour enregistrer le fichier de configuration d' CloudWatch agent recommandé en tant que paramètre dans Parameter Store.
Pour créer le fichier de configuration de CloudWatch l'agent en tant que paramètre
-
Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/
. -
Vérifiez que la région sélectionnée sur la console est la région dans laquelle les EC2 instances sont exécutées.
-
Dans le volet de navigation, sélectionnez Gestion des applications, Magasin de paramètres.
-
Suivez ces étapes pour créer un nouveau paramètre pour la configuration.
Sélectionnez Create parameter (Créer un paramètre).
-
Dans le champ Nom, entrez un nom que vous utiliserez pour référencer le fichier de configuration de l' CloudWatch agent lors des étapes ultérieures. Par exemple,
AmazonCloudWatch-EC2Health-Configuration. (Facultatif) Dans la zone Description, saisissez une description pour le paramètre.
Pour Niveau de paramètre, choisissez Standard.
Pour Type, choisissez String (Chaîne).
Pour Type de données, choisissez texte.
-
Dans le champ Valeur, collez le JSON de la configuration de l’agent fourni plus tôt dans ce document.
Sélectionnez Create parameter (Créer un paramètre).
Étape 3 : Installation de l' CloudWatch agent et application de la configuration à l'aide d'un CloudFormation modèle
Vous pouvez l'utiliser CloudFormation pour installer l'agent et le configurer de manière à utiliser la configuration d' CloudWatch agent que vous avez créée lors des étapes précédentes.
Pour installer et configurer l' CloudWatch agent pour cette solution
-
Ouvrez l'assistant de création CloudFormation rapide d'une pile en utilisant ce lien : https://console.aws.amazon.com/cloudformation/accueil ? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json
. -
Vérifiez que la région sélectionnée sur la console est la région dans laquelle les EC2 instances sont exécutées.
-
Pour Nom de la pile, entrez un nom pour identifier cette pile, par exemple
CWAgentInstallationStack. -
Dans la section Paramètres, indiquez les éléments suivants :
-
Pour CloudWatchAgentConfigSSM, entrez le nom du paramètre Systems Manager pour la configuration de l'agent que vous avez créée précédemment, par exemple
AmazonCloudWatch-EC2Health-Configuration. -
Pour sélectionner les instances cibles, vous avez deux options.
-
Pour InstanceIds, spécifiez une liste séparée par IDs des virgules d'instances IDs où vous souhaitez installer l' CloudWatch agent avec cette configuration. Vous pouvez répertorier une seule instance ou plusieurs instances.
-
Si vous déployez à grande échelle, vous pouvez spécifier le TagKeyet le correspondant TagValuepour cibler toutes les EC2 instances avec cette balise et cette valeur. Si vous spécifiez un TagKey, vous devez spécifier un correspondant TagValue. (Pour un groupe Auto Scaling, spécifiez
aws:autoscaling:groupNamele TagKeyet spécifiez le nom du groupe Auto Scaling TagValueà déployer sur toutes les instances du groupe Auto Scaling.)
Si vous spécifiez à la fois les TagKeysparamètres InstanceIdset, InstanceIdsils seront prioritaires et les balises seront ignorées.
-
-
-
Examinez les paramètres, puis choisissez Créer la pile.
Si vous voulez d’abord modifier le fichier modèle pour le personnaliser, choisissez l’option Charger un fichier modèle sous Assistant de création de pile pour charger le modèle modifié. Pour plus d'informations, consultez Création d'une pile sur CloudFormation console. Vous pouvez utiliser le lien suivant pour télécharger le modèle : https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json
Note
Une fois cette étape terminée, ce paramètre Systems Manager sera associé aux CloudWatch agents exécutés dans les instances ciblées. Cela signifie que :
-
Si le paramètre Systems Manager est supprimé, l’agent s’arrêtera.
-
Si le paramètre Systems Manager est modifié, les modifications de configuration s’appliqueront automatiquement à l’agent à la fréquence planifiée qui est de 30 jours par défaut.
-
Si vous voulez appliquer immédiatement les modifications apportées à ce paramètre Systems Manager, vous devez exécuter à nouveau cette étape. Pour plus d’informations sur les associations, consultez Travailler avec des associations dans AWS Systems Manager.
Étape 4 : vérifiez que la configuration de l’agent est correcte
Vous pouvez vérifier si l' CloudWatch agent est installé en suivant les étapes décrites dans Vérifier que l' CloudWatch agent est en cours d'exécution. Si l' CloudWatch agent n'est pas installé et n'est pas en cours d'exécution, assurez-vous que tout est correctement configuré.
-
Assurez-vous d'avoir attaché un rôle avec les autorisations appropriées pour l' EC2 instance, comme décrit dansÉtape 1 : Assurez-vous que les EC2 instances cibles disposent des autorisations IAM requises.
-
Assurez-vous d’avoir correctement configuré le fichier JSON pour le paramètre Systems Manager. Suivez les étapes décrites dans la section Résolution des problèmes d'installation de l' CloudWatch agent avec CloudFormation.
Pour vérifier que les indicateurs de EC2 santé sont publiés sur CloudWatch
-
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
Choisissez Métriques, Toutes les métriques.
-
Assurez-vous d'avoir sélectionné la région dans laquelle vous avez déployé la solution, puis choisissez Espaces de noms personnalisés. CWAgent
-
Recherchez les métriques mentionnées dans la section de configuration de l’agent de ce document, telles que
mem_used_percent. Si vous obtenez des résultats pour ces mesures, celles-ci sont publiées sur CloudWatch.
Création du tableau de bord EC2 de la solution Health
Ce tableau de bord affiche les nouvelles métriques émises, en indiquant les métriques EC2 Health. Ce tableau de bord fournit une vue des principaux contributeurs sur l'état de santé de vos EC2 instances dans une seule région. La vue des principaux contributeurs affiche les 10 premiers par widget de métrique. Cela vous permet d’identifier les valeurs aberrantes en un coup d’œil.
Pour créer le tableau de bord, vous pouvez utiliser les options suivantes :
Utilisez CloudWatch la console pour créer le tableau de bord.
Utilisez AWS CloudFormation la console pour déployer le tableau de bord.
Téléchargez l' AWS CloudFormation infrastructure sous forme de code et intégrez-la dans le cadre de votre automatisation d'intégration continue (CI).
En utilisant la CloudWatch console pour créer un tableau de bord, vous pouvez prévisualiser le tableau de bord avant de le créer et de le débiter.
Note
Le tableau de bord créé avec CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la CloudFormation pile dans la région où vos EC2 statistiques sont publiées.
Si vous avez spécifié un espace de noms personnalisé autre que CWAgent dans la configuration de l' CloudWatch agent, vous devrez modifier le CloudFormation modèle du tableau de bord pour le CWAgent remplacer par l'espace de noms personnalisé que vous utilisez.
Pour créer le tableau de bord via CloudWatch la console
-
Ouvrez la CloudWatch console Create Dashboard en utilisant ce lien : https://console.aws.amazon.com/cloudwatch/home ? #dashboards ? LinuxMacOsHealthDashboardTemplate=EC2
&referrer=os-catalog. -
Vérifiez que la région sélectionnée sur la console est la région dans laquelle les EC2 instances sont exécutées.
-
Saisissez le nom du tableau de bord, puis choisissez Créer le tableau de bord.
Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple
EC2HealthDashboard-us-east-1. -
Prévisualisez le tableau de bord et cliquez sur Enregistrer pour créer le tableau de bord.
Pour créer le tableau de bord via CloudFormation
-
Ouvrez l'assistant de création CloudFormation rapide d'une pile en utilisant ce lien : https://console.aws.amazon.com/cloudformation/accueil ? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard - template-linux-macos -1.0.0.json
. -
Vérifiez que la région sélectionnée sur la console est la région dans laquelle les EC2 instances sont exécutées.
-
Pour Nom de la pile, entrez un nom pour identifier cette pile, par exemple
EC2HealthDashboardStack. -
Dans la section Paramètres, spécifiez le nom du tableau de bord sous le DashboardNameparamètre.
Pour différencier facilement ce tableau de bord de tableaux de bord similaires dans d’autres régions, nous vous recommandons d’inclure le nom de la région dans le nom du tableau de bord, par exemple
EC2HealthDashboard-us-east-1. -
Validez les capacités d’accès pour les transformateurs sous Capacités et transformateurs. Notez que CloudFormation cela n'ajoute aucune ressource IAM.
-
Examinez les paramètres, puis choisissez Créer la pile.
-
Une fois que le statut de la pile est CREATE_COMPLETE, sélectionnez l’onglet Ressources sous la pile créée, puis cliquez sur le lien sous ID physique pour accéder au tableau de bord. Vous pouvez également accéder au tableau de bord dans la CloudWatch console en choisissant Tableaux de bord dans le volet de navigation gauche de la console et en recherchant le nom du tableau de bord sous Tableaux de bord personnalisés.
Si vous voulez modifier le fichier de modèle pour le personnaliser à des fins quelconques, vous pouvez utiliser l’option Charger un fichier de modèle sous Assistant de création de pile pour charger le modèle modifié. Pour plus d'informations, consultez Création d'une pile sur CloudFormation console. Vous pouvez utiliser ce lien pour télécharger le modèle : https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard- template-linux-macos -1.0.0.json
Commencez avec le tableau de bord EC2 de la solution Health
Voici quelques tâches que vous pouvez essayer avec le nouveau tableau de bord EC2 de surveillance. Ces tâches vous permettent de vérifier que le tableau de bord fonctionne correctement et de vous fournir une expérience pratique de son utilisation pour surveiller EC2 les instances. Au fur et à mesure de vos essais, vous vous familiariserez avec la navigation dans le tableau de bord et l’interprétation des métriques visualisées.
- Surveiller les différentes métriques d’utilisation de l’UC
-
C Dans la section UC, examinez l’ensemble des métriques d’utilisation de l’UC. Ils fournissent un aperçu de la manière dont les ressources du processeur sont utilisées dans le cadre de différentes activités telles que les processus utilisateur, les tâches système et I/O les opérations. Recherchez les instances dont l’utilisation est constamment élevée ou qui présentent des comportements inhabituels, ce qui pourrait indiquer la nécessité d’une mise à l’échelle ou d’une optimisation.
- Analyser l’utilisation des disques sur différents appareils
-
Accédez à la section Disque pour trouver les métriques d’utilisation du stockage et de disponibilité des inodes. Celles-ci vous aident à identifier les instances qui manquent d’espace de stockage ou de ressources de système de fichiers. Soyez attentif à toutes les instances qui approchent des niveaux élevés d’utilisation du disque, car cela pourrait entraîner des problèmes de performance ou des interruptions de service.
- Examiner les schémas d’utilisation de la mémoire
-
Dans la section Mémoire, observez le graphique qui représente l’utilisation de la mémoire au fil du temps. Il indique la quantité de mémoire disponible utilisée par chaque instance. Recherchez des schémas ou des pics d’utilisation de la mémoire qui pourraient correspondre à des moments ou à des événements spécifiques. Une utilisation élevée de la mémoire peut indiquer la nécessité de redimensionner l’instance ou d’optimiser l’application.
- Établir des corrélations entre les métriques d’utilisation de base
-
Comparez et surveillez les schémas d’utilisation connexes. Par exemple, une charge de travail exécutant un processus de rotation des journaux pourrait présenter des augmentations régulières de l’utilisation du processeur et de la mémoire, suivies d’une diminution de l’utilisation du disque.
- Examiner l’activité du réseau
-
Dans la section Réseau, examinez les métriques du trafic réseau entrant et sortant, en termes de volume de données et de nombre de paquets. Ils vous donnent un aperçu de l'activité réseau de vos EC2 instances. Soyez attentif aux pics réguliers ou anormaux du trafic réseau, ou aux déséquilibres entre les données entrantes et sortantes.