如何在 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": ,
"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 的自定义命名空间中查看您的指标。