如何在 Windows 环境中监控 Elastic Beanstalk 的 CloudWatch 内存使用指标?

上次更新时间:2019 年 12 月 31 日

如何从 AWS Elastic Beanstalk 的 Windows 环境中监控 Amazon CloudWatch 的内存利用率?

简短描述

您可以使用 Elastic Beanstalk 配置文件 (.ebextensions) 在搭载 IIS 的 Windows 服务器上监控适用于 .NET 的 CloudWatch 的内存利用率。

注意:CloudWatch 代理默认安装在运行平台版本 2.0.1 或更新版本的所有 Elastic Beanstalk Windows 环境上。

解决方法

设置您的 .ebextensions 目录

在应用程序包的根目录中,创建一个名为 .ebextensions 的隐藏目录。

示例应用程序源包:

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

创建和存储配置文件和 PowerShell 脚本

在您作为应用程序源包的一部分创建的 .ebextension 文件夹内创建一个名为 01_cw-memory-config.config 的文件。

示例配置文件:

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

01_cw-memory-config.config 配置文件将执行以下操作:

  • 定义 CloudWatch 代理收集并推送到 CloudWatch 的指标
  • 收集内存使用百分比的指标

注意:有关 Amazon Elastic Compute Cloud (Amazon EC2) 的受支持 CloudWatch 指标的列表,请参阅 CloudWatch 内置指标

文件部分包括 CloudWatch 配置 JSON 内容,其中规定了将哪个指标推送到 CloudWatch。container_commands 部分在应用程序包解压缩到 Amazon EC2 实例后运行命令。

包含 01_cw-memory-config.config 文件的示例应用程序源包:

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

部署您的应用程序并查看您的指标

1.    部署已更新的 Elastic Beanstalk 应用程序

2.    要查看您的内存使用指标,请打开 CloudWatch 控制台,然后在导航窗格中选择指标。您可以在标记为 CWAgent 的自定义命名空间中查看您的指标。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?