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

上次更新时间:2023 年 1 月 25 日

我想在 Windows 中的 AWS Elastic Beanstalk 环境中使用 Amazon CloudWatch 监控内存使用情况。

简短描述

您可以通过执行以下操作,预置 Elastic Beanstalk 配置文件(.ebextensions)来在搭载 IIS 的 Windows 服务器上监控适用于 .NET 的 CloudWatch 的内存利用率:

  1. 创建 .ebextensions 目录。
  2. .ebextensions 目录中创建并保存配置文件。
  3. 部署您的应用程序并查看您的指标。

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

解决方法

创建 .ebextensions 目录

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

示例:此示例演示了应用程序源包结构,其中 .ebextensions 目录位于项目目录的顶层。

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

在 .ebextensions 目录中创建并保存配置文件

  • 在您作为应用程序源包的一部分创建的 .ebextensions 目录内创建名为 01_cw-memory-metrics.config 的文件。

示例:此示例扩展了 CloudWatch 代理配置文件 - Metrics(指标)部分

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 控制台 - Metrics(指标)的指标。
  • 收集内存使用百分比的指标。
  • files 部分包括 CloudWatch 代理配置 JSON 内容,其中定义了将哪个指标发布到 CloudWatch。
  • container_commands 部分在应用程序包解压缩到 Amazon Elastic Compute Cloud (Amazon EC2) 实例后运行命令。

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

示例:此示例演示了包含 01_cw-memory-metrics.config 的应用程序源包结构。

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

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

  1. 部署已更新的 Elastic Beanstalk 应用程序
  2. 查看内存利用率指标:
    • 打开 CloudWatch 控制台,在导航窗格中,选择 Metrics(指标),然后选择 All metrics(所有指标)。

    您可以在标记为 CWAgent 的自定义命名空间中查看您的指标。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?