CloudWatch solution : Amazon EC2 Health - Amazon CloudWatch

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é.

Prérequis

Cette solution est pertinente pour les conditions suivantes :

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étectez les problèmes de CPU performance et les contraintes de ressources.

  • Surveillez l'utilisation des disques et la capacité de stockage sur les différents disques de vos EC2 instances.

  • Suivez les habitudes d'utilisation de la mémoire et les fuites de mémoire potentielles.

  • Analysez les opérations d'E/S et leur impact sur les performances globales.

  • Observez les modèles de trafic réseau et les anomalies potentielles.

Voici les principaux avantages de cette 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'EC2instance. 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 du tableau de bord de cette solution.

Exemple de JVM tableau de bord

Coûts

Cette solution crée et utilise les ressources de votre compte. L'utilisation standard vous est facturée, y compris les frais 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'EC2hôtes.

    Le nombre total de métriques d' CloudWatch agents dépend de la configuration des disques. À l'exception des métriques de disque et de diskio, la solution publie six métriques. Le nombre de métriques de disque (disk_used_percent,disk_inodes_free) dépend du nombre de device/fstype/path dimensions. La métrique diskio (diskio_io_time) dépend du nombre de name dimensions. 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 (4CPU, 12 disques, 4 diskio, 1 mémoire et 1 swap). Des indicateurs tels que Vended AWS/EC2 sont fournis gratuitement.

  • Un tableau de bord personnalisé.

  • APIopérations 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 qu'ils PutMetricDataAPIseront appelés 30*24*60=43,200 dans 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 liés à l'utilisation de cette solution.

Pour utiliser le calculateur de prix pour estimer les coûts mensuels de votre solution
  1. Ouvrez le calculateur CloudWatch de prix Amazon.

  2. Dans la section Mesures, pour Nombre de mesures, entrez(6 + total count of disk and diskio metrics per EC2 host as described above) * number of EC2 instances configured for this solution.

  3. Dans la APIssection, pour Nombre de API demandes, entrez43200 * number of EC2 instances configured for this solution.

  4. Par défaut, la solution effectue une PutMetricDataopération par minute pour chaque EC2 hôte.

  5. Dans la section Tableaux de bord et alarmes, pour Nombre de tableaux de bord, entrez. 1

  6. Vous pouvez consulter vos coûts estimés mensuels au 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'agents permettant de collecter les métriques recommandées avec des dimensions adaptées au tableau de bord de la solution.

Les étapes de déploiement de la solution sont décrites plus loin dansDéployez l'agent correspondant à votre solution. Les informations suivantes ont pour but de vous aider à comprendre comment personnaliser la configuration de l'agent pour 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'éviter que les noms de dimension contiennent des valeurs nulles ou vides. Chaque widget de mesure inclus dans le tableau de bord de la solution recherche les métriques qui incluent ou excluent la AutoScalingGroup dimension. Cela permet de garantir que toutes les EC2 instances où la solution est appliquée sont prises en charge par le même tableau de bord.

Si vous souhaitez apporter des modifications à la configuration de l'agent, vous devez appliquer les mêmes modifications au tableau de bord qui accompagne 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éployez l'agent correspondant à votre solution

Il existe plusieurs approches pour installer l' CloudWatch agent, selon le cas d'utilisation. Nous 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 en fonction de votre environnement ou de votre cas d'utilisation unique. Les métriques définies dans la configuration sont le minimum requis pour le tableau de bord fourni avec la solution.

Le processus de déploiement comprend les étapes suivantes :

  • Étape 1 : Assurez-vous que les EC2 instances cibles disposent des IAM autorisations requises.

  • Étape 2 : Stockez le fichier de configuration d'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 AWS CloudFormation pile.

  • Étape 4 : Vérifiez que la configuration de l'agent est correctement configurée.

Étape 1 : Assurez-vous que les EC2 instances cibles disposent des IAM autorisations 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 les mazonSSMManaged InstanceCore IAM politiques CloudWatchAgentServerPolicyet A sont attachées au IAM rôle attaché à l'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 simplifiées 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
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. 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.

  3. Dans le volet de navigation, choisissez Application Management, Parameter Store.

  4. Procédez comme suit pour créer un nouveau paramètre pour la configuration.

    1. Sélectionnez Create parameter (Créer un paramètre).

    2. 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.

    3. (Facultatif) Dans la zone Description, tapez une description pour le paramètre.

    4. Pour le niveau des paramètres, sélectionnez Standard.

    5. Pour Type, choisissez String (Chaîne).

    6. Pour Type de données, sélectionnez le texte.

    7. Dans le champ Valeur, collez la configuration de l'agent JSON fournie plus haut dans ce document.

    8. 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 AWS CloudFormation modèle

Vous pouvez l'utiliser AWS 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
  1. Ouvrez l'assistant de création AWS CloudFormation rapide d'une pile à l'aide de ce lien : https://console.aws.amazon.com/cloudformation/accueil ? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - agent-installation-template -1.0.0.json.

  2. 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.

  3. Pour Nom de la pile, entrez un nom pour identifier cette pile, tel queCWAgentInstallationStack.

  4. Dans la section Paramètres, spécifiez les éléments suivants :

    1. 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 exempleAmazonCloudWatch-EC2Health-Configuration.

    2. Pour sélectionner les instances cibles, deux options s'offrent à vous.

      1. 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 ou plusieurs instances.

      2. 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:groupName le TagKeyet spécifiez le nom du groupe Auto Scaling TagKeyà 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.

  5. Vérifiez les paramètres, puis choisissez Create stack.

Si vous souhaitez d'abord modifier le fichier modèle pour le personnaliser, choisissez l'option Télécharger un fichier modèle sous Create Stack Wizard pour télécharger le modèle modifié. Pour plus d'informations, consultez la section Création d'une pile sur AWS CloudFormation console. Vous pouvez utiliser le lien suivant pour télécharger le modèle : https://aws-observability-solutions.s3.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 :

  1. Si le paramètre Systems Manager est supprimé, l'agent s'arrête.

  2. 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.

  3. Si vous souhaitez appliquer immédiatement les modifications à ce paramètre de Systems Manager, vous devez exécuter cette étape à nouveau. Pour plus d'informations sur les associations, consultez la section Utilisation des associations dans AWS Systems Manager.

Étape 4 : vérifier que la configuration de l'agent est correctement configurée

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é.

Pour vérifier que les indicateurs de EC2 santé sont publiés sur CloudWatch
  1. Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Choisissez Métriques, Toutes les métriques.

  3. 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

  4. Recherchez les métriques mentionnées dans la section de configuration de l'agent de ce document, telles quemem_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 meilleurs contributeurs affiche les 10 meilleurs widgets par 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 AWS CloudFormation cette solution affiche les statistiques de la région dans laquelle la solution est déployée. Assurez-vous de créer la AWS 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 AWS 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
  1. Ouvrez la CloudWatch console Create Dashboard en utilisant ce lien : https://console.aws.amazon.com/cloudwatch/home ? #dashboards ? dashboardTemplate=Ec2 LinuxMacOsHealth &referrer=os-catalog.

  2. 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.

  3. Entrez le nom du tableau de bord, puis choisissez Créer un tableau de bord.

    Pour différencier facilement ce tableau de bord des 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 exempleEC2HealthDashboard-us-east-1.

  4. Prévisualisez le tableau de bord et choisissez Enregistrer pour créer le tableau de bord.

Pour créer le tableau de bord via AWS CloudFormation
  1. Ouvrez l'assistant de création AWS CloudFormation rapide d'une pile à l'aide de ce lien : https://console.aws.amazon.com/cloudformation/accueil ? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions.s3.amazonaws.com/EC2_Health/CloudWatch/CFN/v1.0.0/dashboard - template-linux-macos -1.0.0.json.

  2. 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.

  3. Pour Nom de la pile, entrez un nom pour identifier cette pile, tel queEC2HealthDashboardStack.

  4. 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 des 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 exempleEC2HealthDashboard-us-east-1.

  5. Reconnaissez les capacités d'accès pour les transformations sous Capacités et transformations. Notez que AWS CloudFormation cela n'ajoute aucune IAM ressource.

  6. Vérifiez les paramètres, puis choisissez Create stack.

  7. Une fois que le statut de la pile est CREATE_ COMPLETE, choisissez l'onglet Ressources sous la pile créée, puis cliquez sur le lien sous Identifiant 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 souhaitez modifier le fichier modèle afin de le personnaliser à quelque fin que ce soit, vous pouvez utiliser l'option Télécharger un fichier modèle sous Create Stack Wizard pour télécharger le modèle modifié. Pour plus d'informations, consultez la section Création d'une pile sur AWS CloudFormation console. Vous pouvez utiliser ce lien pour télécharger le modèle : https://aws-observability-solutions.s3.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. En les essayant, vous vous familiariserez avec la navigation dans le tableau de bord et l'interprétation des indicateurs visualisés.

Surveillez les différents indicateurs CPU d'utilisation

Dans CPUcette section, examinez le tableau des mesures CPU d'utilisation. Ils fournissent un aperçu de la manière dont les CPU ressources sont utilisées dans le cadre de différentes activités telles que les processus utilisateur, les tâches système et les opérations d'E/S. Recherchez les instances présentant un taux d'utilisation constamment élevé ou des modèles inhabituels, ce qui peut indiquer la nécessité d'une mise à l'échelle ou d'une optimisation.

Analyser l'utilisation du disque sur différents appareils

Accédez à la section Disque pour trouver les indicateurs d'utilisation du stockage et de disponibilité des inodes. Ils vous aident à identifier les instances qui manquent d'espace de stockage ou de ressources du système de fichiers. Faites attention à toutes les instances dont le niveau d'utilisation du disque approche d'un niveau élevé, car cela pourrait entraîner des problèmes de performances ou des interruptions de service.

Étudier les modèles 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. Cela indique la quantité de mémoire disponible utilisée par chaque instance. Recherchez des modèles ou des pics d'utilisation de la mémoire susceptibles d'être liés à des moments ou à des événements spécifiques. Une utilisation élevée de la mémoire peut indiquer la nécessité d'un redimensionnement ou d'une optimisation de l'application.

Corrélez les modèles entre les principaux indicateurs d'utilisation

Comparez et surveillez les modèles d'utilisation connexes. Par exemple, une charge de travail exécutant un processus de rotation des journaux peut entraîner une augmentation CPUrégulière de l'utilisation de la mémoire, suivie d'une diminution de l'utilisation du disque.

Inspectez l'activité du réseau

Dans la section Réseau, examinez les métriques du trafic réseau entrant et sortant, à la fois 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. Faites attention aux pics réguliers ou anormaux du trafic réseau, ou aux déséquilibres entre les données entrantes et sortantes.