Comment surveiller les métriques d'utilisation de la mémoire CloudWatch pour Elastic Beanstalk dans un environnement Windows ?

Lecture de 3 minute(s)
0

Je souhaite surveiller l'utilisation de la mémoire avec Amazon CloudWatch à partir de mon environnement AWS Elastic Beanstalk sous Windows.

Brève description

Vous pouvez fournir des fichiers de configuration Elastic Beanstalk (.ebextensions) pour surveiller l'utilisation de la mémoire avec CloudWatch pour .NET sur Windows Server avec IIS en procédant comme suit :

  1. Créez le répertoire .ebextensions.
  2. Créez et enregistrez le fichier de configuration dans le répertoire .ebextensions.
  3. Déployez votre application et affichez vos métriques.

Remarque : par défaut, l'agent CloudWatch unifié est installé sur tous les environnements Windows Elastic Beanstalk exécutant les versions 2.0.1 ou ultérieures de la plateforme.

Résolution

Créer le répertoire .ebextensions

  • Dans la racine de votre groupe d'applications, créez un répertoire et nommez-le .ebextensions.

Exemple : cet exemple illustre la structure d'un groupe source d'application avec le répertoire .ebextensions au premier niveau du répertoire du projet.

~/workspace/my-application/
|-- Content
|-- .ebextensions
|  
|-- archive.xml
`-- systemInfo.xml

Créer et enregistrer le fichier de configuration dans le répertoire .ebextensions

  • Créez un fichier nommé 01_cw-memory-metrics.config dans le dossier .ebextensions que vous avez créé dans le groupe source d'application.

Exemple : cet exemple développe la section Metrics (Métriques) du fichier de configuration de l'agent CloudWatch.

files:
  "C:\\Program Files\\Amazon\\AmazonCloudWatchAgent\\cw-memory-config.json":
    content: |
{
  "metrics": {
    "append_dimensions": {
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
      "ImageId": "${aws:ImageId}",
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}"
    },
    "metrics_collected": {
      "Memory": {
        "measurement": [
          "% Committed Bytes In Use"
        ],
        "metrics_collection_interval": 10
      }
    }
  }
}

container_commands:
  01_set_config_and_reinitialize_cw_agent:
    command: powershell.exe cd 'C:\Program Files\Amazon\AmazonCloudWatchAgent'; powershell.exe -ExecutionPolicy Bypass -File ./amazon-cloudwatch-agent-ctl.ps1 -a append-config -m ec2 -c file:cw-memory-config.json -s; powershell.exe -ExecutionPolicy Bypass -File ./amazon-cloudwatch-agent-ctl.ps1 -a start; exit

Le fichier de configuration 01_cw-memory-metrics.config effectue les opérations suivantes :

  • Définit les métriques que l'agent CloudWatch collecte et publie sur la console CloudWatch - Metrics (Métriques).
  • Collecte les métriques pour le pourcentage de mémoire utilisé.
  • La section files (fichiers) inclut le contenu JSON de configuration de l'agent CloudWatch qui définit la métrique à publier sur CloudWatch.
  • La section container_commands exécute les commandes une fois le groupe d'application décompressé sur l'instance Amazon Elastic Compute Cloud (Amazon EC2).

Remarque : pour obtenir la liste des métriques CloudWatch prises en charge pour Amazon EC2, consultez les Métriques intégrées CloudWatch.

Exemple : cet exemple illustre la structure d'un groupe source d'application avec 01_cw-memory-metrics.config inclus.

~/workspace/my-application/
|-- Content
|-- .ebextensions
|   |--01_cw-memory-metrics.config
|  
|-- archive.xml
`-- systemInfo.xml

Déployer votre application et afficher vos métriques

  1. Déployez votre application Elastic Beanstalk à jour.
  2. Examinez les métriques d'utilisation de la mémoire :
    • Ouvrez la console CloudWatch. Dans le volet de navigation, sélectionnez Metrics (Métriques) puis All metrics (Toutes les métriques).Vous pouvez voir vos métriques dans l'espace de noms personnalisé intitulé CWAgent.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an