Configuration de CloudWatch agent pour instances EC2 et serveurs sur site - AWS Conseils prescriptifs

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.

Configuration de CloudWatch agent pour instances EC2 et serveurs sur site

De nombreuses organisations exécutent des charges de travail sur des serveurs physiques et des machines virtuelles (VM). Ces charges de travail s'exécutent généralement sur différents systèmes d'exploitation qui ont chacun des exigences d'installation et de configuration uniques pour la capture et l'ingestion de mesures.

Si vous choisissez d'utiliser des instances EC2, vous pouvez avoir un niveau de contrôle élevé sur votre instance et la configuration de votre système d'exploitation. Toutefois, ce niveau supérieur de contrôle et de responsabilité exige que vous surveilliez et ajustiez les configurations pour obtenir une utilisation plus efficace. Vous pouvez améliorer votre efficacité opérationnelle en établissant des normes de journalisation et de surveillance, et en appliquant une approche standard d'installation et de configuration pour la capture et l'ingestion de journaux et de mesures.

Organizations qui migrent ou étendent leurs investissements informatiques vers leAWSLe cloud peut tirer parti CloudWatch pour obtenir une solution unifiée de journalisation et de surveillance. CloudWatch la tarification signifie que vous payez progressivement les mesures et les journaux que vous souhaitez capturer. Vous pouvez également capturer des journaux et des mesures pour des serveurs locaux à l'aide d'un outil similaire CloudWatch processus d'installation de l'agent comme celui d'Amazon EC2.

Avant de commencer à installer et à déployer CloudWatch, assurez-vous d'évaluer les configurations de journalisation et de mesure de vos systèmes et applications. Assurez-vous de définir les journaux et les mesures standard que vous devez capturer pour les systèmes d'exploitation que vous souhaitez utiliser. Les journaux et les mesures système constituent la base et la norme d'une solution de journalisation et de surveillance, car ils sont générés par le système d'exploitation et sont différents pour Linux et Windows. Des mesures et des fichiers journaux importants sont disponibles dans les distributions Linux, en plus de celles spécifiques à une version ou à une distribution Linux. Cette variance se produit également entre les différentes versions de Windows.

Configuration de CloudWatch agent

CloudWatch capture les métriques et les journaux pour Amazon EC2 et les serveurs sur site à l'aide deAgents CloudWatch et fichiers de configuration des agentsqui sont propres à chaque système d'exploitation. Nous vous recommandons de définir la configuration standard de mesure et de capture de journaux de votre organisation avant de commencer à installer le CloudWatch agent à grande échelle dans vos comptes.

Vous pouvez combiner plusieurs CloudWatch configurations d'agent pour former un composite CloudWatch configuration de l'agent. Une approche recommandée consiste à définir et à diviser les configurations de vos journaux et mesures au niveau du système et de l'application. Le diagramme suivant illustre comment plusieurs types de fichiers de configuration CloudWatch pour différentes exigences peuvent être combinés pour former une configuration CloudWatch composite :

Plusieurs CloudWatch la configuration pour différentes exigences est combinée pour former un composite CloudWatch configuration

Ces journaux et mesures peuvent également être classés et configurés pour des environnements ou des exigences spécifiques. Par exemple, vous pouvez définir un sous-ensemble plus petit de journaux et de mesures avec une précision inférieure pour les environnements de développement non réglementés, et un ensemble plus grand et plus complet avec une précision supérieure pour les environnements de production réglementés.

Configuration de la capture de journaux pour les instances EC2

Par défaut, Amazon EC2 ne surveille ni ne capture de fichiers journaux. Au lieu de cela, les fichiers journaux sont capturés et ingérés dans CloudWatch Journaux par le CloudWatch logiciel d'agent installé sur votre instance EC2,AWSAPI, ouAWS Command Line Interface(AWS CLI). Nous vous recommandons d'utiliser le CloudWatch agent pour ingérer des fichiers journaux dans CloudWatch Journaux pour Amazon EC2 et les serveurs sur site.

Vous pouvez rechercher et filtrer les journaux, ainsi que extraire des mesures et exécuter une automatisation basée sur la correction de motifs à partir de fichiers journaux dans CloudWatch. CloudWatch prend en charge les options de filtre et de syntaxe de motif en texte brut, délimité par des espaces et au format JSON, avec des journaux au format JSON offrant la plus grande flexibilité. Pour augmenter les options de filtrage et d'analyse, vous devez utiliser une sortie de journal formatée au lieu de texte brut.

Le CloudWatch l'agent utilise un fichier de configuration qui définit les journaux et les mesures à envoyer à CloudWatch. CloudWatch puis capture chaque fichier journal sous la forme d'unflux de journauxet regroupe ces flux de journaux dans ungroupe de journaux. Cela vous aide à effectuer des opérations sur les journaux à partir de vos instances EC2, telles que la recherche d'une chaîne correspondante.

Le nom du flux de journaux par défaut est identique à l'ID d'instance EC2 et le nom du groupe de journaux par défaut est identique au chemin d'accès au fichier journal. Le nom du flux de journaux doit être unique dans la CloudWatch groupe de journaux. Vous pouvez utiliserinstance_id,hostname,local_hostname, ouip_addresspour la substitution dynamique dans le flux de journaux et les noms de groupes de journaux, ce qui signifie que vous pouvez l'utiliser CloudWatch fichier de configuration d'agent sur plusieurs instances EC2.

Le diagramme suivant illustre un CloudWatch configuration de l'agent pour capturer les journaux. Le groupe de journaux est défini par les fichiers journaux capturés et contient des flux de journaux distincts pour chaque instance EC2, car le{instance_id}est utilisée pour le nom du flux de journaux et les ID d'instance EC2 sont uniques.

UN CloudWatch configuration de l'agent pour capturer les journaux.

Les groupes de journaux définissent la rétention, les balises, la sécurité, les filtres de mesures et l'étendue de recherche des flux de journaux qu'ils contiennent. Le comportement de regroupement par défaut basé sur le nom du fichier journal permet de rechercher, de créer des mesures et d'alerter les données spécifiques à un fichier journal sur les instances EC2 d'un compte et d'une région. Vous devez évaluer si un affinement supplémentaire du groupe de journaux est nécessaire. Par exemple, votre compte peut être partagé par plusieurs unités commerciales et avoir des propriétaires techniques ou d'opérations différents. Cela signifie que vous devez affiner davantage le nom du groupe de journaux pour refléter la séparation et la propriété. Cette approche vous permet de concentrer votre analyse et votre dépannage sur l'instance EC2 pertinente.

Si plusieurs environnements utilisent un seul compte, vous pouvez séparer la journalisation des charges de travail exécutées dans chaque environnement. Le tableau suivant présente une convention de dénomination de groupe de journaux qui inclut l'unité commerciale, le projet ou l'application et l'environnement.

Nom du groupe de journaux /<Business unit>/<Project or application name>/<Environment>/<Log file name>
Nom du flux de journaux <EC2 instance ID>

Vous pouvez également regrouper tous les fichiers journaux d'une instance EC2 dans le même groupe de journaux. Cela facilite la recherche et l'analyse dans un ensemble de fichiers journaux pour une seule instance EC2. Cela est utile si la plupart de vos instances EC2 desservent une application ou une charge de travail et que chaque instance EC2 répond à un objectif spécifique. Le tableau suivant montre comment votre nom de groupe de journaux et de flux de journaux peuvent être formatés pour prendre en charge cette approche.

Nom du groupe de journaux /<Business unit>/<Project or application name>/<Environment>/<EC2 instance ID>
Nom du flux de journaux <Log file name>

Configuration de la capture de mesures pour les instances EC2

Par défaut, vos instances EC2 sont activées pour la surveillance basique etensemble de mesures standard(par exemple, métriques liées au processeur, au réseau ou au stockage) est automatiquement envoyée à CloudWatch toutes les cinq minutes. CloudWatch Les métriques peuvent varier selon la famille d'instances, par exemple,instances à capacité variabledisposer de mesures pour les crédits CPU. Les mesures standard Amazon EC2 sont incluses dans le prix de votre instance. Si vous activezsurveillance minutieusepour vos instances EC2, vous pouvez recevoir des données sur des périodes d'une minute. La fréquence de la période a un impact sur vos coûts CloudWatch. Assurez-vous donc d'évaluer si une surveillance détaillée est requise pour toutes les instances EC2 ou uniquement pour certaines de vos instances EC2. Par exemple, vous pouvez activer la surveillance détaillée des charges de travail de production, mais utiliser une surveillance de base pour les charges de travail autres que la production.

Les serveurs locaux n'incluent aucune mesure par défaut pour CloudWatch et doit utiliser le CloudWatch agent,AWS CLI, ouAWSSDK pour capturer des mesures. Cela signifie que vous devez définir les mesures que vous souhaitez capturer (par exemple, l'utilisation de l'UC) dans le CloudWatch fichier de configuration. Vous pouvez créer un CloudWatch fichier de configuration qui inclut les mesures d'instance EC2 standard pour vos serveurs locaux et qui l'appliquent en plus de votre norme CloudWatch Configuration .

Métriquesdans CloudWatch sont uniquement définis par un nom de métrique et aucune ou plusieurs dimensions, et sont uniquement regroupés dans un espace de noms de métriques. Mesures fournies par unAWSle service possède un espace de noms qui commence parAWS(par exemple,AWS/EC2), et non -AWSLes métriques sont considérées comme des métriques personnalisées. Mesures que vous configurez et capturez avec le CloudWatch sont tous considérés comme des mesures personnalisées. Parce que le nombre de mesures créées a un impact sur votre CloudWatch , vous devez évaluer si chaque mesure est requise pour toutes les instances EC2 ou seulement pour certaines de vos instances EC2. Par exemple, vous pouvez définir un ensemble complet de mesures pour les charges de travail de production, mais utiliser un sous-ensemble plus petit de ces mesures pour les charges de travail hors production.

CWAgentest l'espace de noms par défaut des mesures publiées par le CloudWatch agent. Comme pour les groupes de journaux, l'espace de noms de mesures organise un ensemble de mesures afin qu'elles puissent être trouvées ensemble au même endroit. Vous devez modifier l'espace de noms pour refléter une unité commerciale, un projet ou une application et un environnement (par exemple,/<Business unit>/<Project or application name>/<Environment>). Cette approche est utile si plusieurs charges de travail non liées utilisent le même compte. Vous pouvez également corréler votre convention de dénomination d'espace de noms avec votre CloudWatch convention de dénomination des groupes de journaux.

Les mesures sont également identifiées par leurs dimensions, ce qui vous aide à les analyser par rapport à un ensemble de conditions et sont les propriétés sur lesquelles les observations sont enregistrées. Amazon EC2 inclutMétriques distinctespour les instances EC2 avecInstanceIdetAutoScalingGroupNamedimensions. Vous recevez également des mesures avec leImageIdetInstanceTypesi vous activez la surveillance détaillée. Par exemple, Amazon EC2 fournit une mesure d'instance EC2 distincte pour l'utilisation du processeur avec leInstanceId, en plus de la mesure d'utilisation du processeur distincte pour leInstanceTypeDimension. Cela vous aide à analyser l'utilisation du processeur pour chaque instance EC2 unique, en plus de toutes les instances EC2 d'une instance spécifique.type d'instance.

L'ajout de dimensions augmente votre capacité d'analyse, mais augmente également vos coûts globaux, car chaque mesure et chaque combinaison de valeurs de dimension unique aboutissent à une nouvelle mesure. Par exemple, si vous créez une mesure pour le pourcentage d'utilisation de la mémoire par rapport auInstanceId, il s'agit alors d'une nouvelle mesure pour chaque instance EC2. Si votre organisation exécute des milliers d'instances EC2, cela entraîne des milliers de mesures et entraîne des coûts plus élevés. Pour contrôler et prédire les coûts, assurez-vous de déterminer la cardinalité de la métrique et les dimensions qui ajoutent le plus de valeur. Par exemple, vous pouvez définir un ensemble complet de dimensions pour vos mesures de charge de travail de production, mais un sous-ensemble plus petit de ces dimensions pour les charges de travail autres que la production.

Vous pouvez utiliser le pluginappend_dimensionspour ajouter des dimensions à une ou à toutes les mesures définies dans votre CloudWatch Configuration . Vous pouvez également ajouter dynamiquement leImageId,InstanceId,InstanceType, etAutoScalingGroupNameà toutes les mesures de votre CloudWatch Configuration . Vous pouvez également ajouter un nom et une valeur de dimension arbitraires pour des mesures spécifiques à l'aide de la commandeappend_dimensionssur cette mesure. CloudWatch peut également agréger des statistiques sur les dimensions métriques que vous avez définies avec leaggregation_dimensionspropriété.

Par exemple, vous pouvez agréger la mémoire utilisée par rapport àInstanceTypepour voir la mémoire moyenne utilisée par toutes les instances EC2 pour chaque type d'instance. Si vous utilisezt2.microinstances exécutées dans une région, vous pouvez déterminer si des charges de travail utilisant let2.microsurutilisent ou sous-utilisent la mémoire fournie. La sous-utilisation peut être le signe de charges de travail utilisant des classes EC2 dont la capacité de mémoire est inutile. En revanche, une surutilisation peut être le signe de charges de travail utilisant des classes Amazon EC2 dont la mémoire est insuffisante.

Le schéma suivant illustre un exemple CloudWatch configuration de mesures utilisant un espace de noms personnalisé, des dimensions ajoutées et une agrégation parInstanceType.

Un échantillon CloudWatch configuration de mesures utilisant un espace de noms personnalisé, des dimensions ajoutées et une agrégation parInstanceType.