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

Date de la dernière mise à jour : 31/12/2019

Comment surveiller l’utilisation de la mémoire avec Amazon CloudWatch à partir de mon environnement AWS Elastic Beanstalk sous Windows ?

Brève description

Vous pouvez utiliser des fichiers de configuration Elastic Beanstalk (.ebextensions) pour surveiller l’utilisation de la mémoire avec CloudWatch pour .NET sur Windows Server avec IIS.

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

Résolution

Définir votre répertoire .ebextensions

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

Exemple de groupe source d'application :

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

Créer et stocker des fichiers de configuration et des scripts PowerShell

Créez un fichier nommé 01_cw-memory-config.config à l'intérieur du dossier .ebextension que vous avez créé dans le cadre du bundle source de l’application.

Exemple de fichier de configuration :

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-config.config effectue les opérations suivantes :

  • Définit les métriques que l’agent CloudWatch collecte et transmet à CloudWatch
  • Collecte les métriques pour le pourcentage de mémoire utilisé

Remarque : Pour obtenir la liste des métriques CloudWatch prises en charge pour Amazon Elastic Compute Cloud (Amazon EC2), consultez Métriques intégrées CloudWatch.

La section files (fichiers) inclut le contenu JSON de configuration CloudWatch qui définit la métrique à transmettre à CloudWatch. La section container_commands exécute les commandes une fois que le bundle d’application est décompressé sur l’instance Amazon EC2.

Exemple de groupe source d’application avec le fichier 01_cw-memory-config.config :

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

Déployez votre application et affichez vos métriques

1.    Déployez l'application Elastic Beanstalk mise à jour.

2.    Pour afficher vos métriques d’utilisation de la mémoire, ouvrez la console CloudWatch, puis choisissez Métriques dans le volet de navigation. Vous pouvez voir vos métriques dans l’espace de noms personnalisé intitulé CWAgent.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?