【发布时间】:2018-08-05 18:36:21
【问题描述】:
我的目标是根据我的 EC2 实例上使用的内存来测试 AutoScaling。
为了监控我的 EC2 实例内存,我在我的 EC2 实例上安装了 CloudWatch 代理,并创建并配置了我的 CloudWatch 代理配置文件,如下所述: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html
{
"metrics": {
"append_dimensions": {
"AutoScalingGroupName": "${aws:AutoScalingGroupName}",
"ImageId": "${aws:ImageId}",
"InstanceId": "${aws:InstanceId}",
"InstanceType": "${aws:InstanceType}"
},
"metrics_collected": {
"cpu": {
"measurement": [
"cpu_usage_idle",
"cpu_usage_iowait",
"cpu_usage_user",
"cpu_usage_system"
],
"metrics_collection_interval": 60,
"totalcpu": false
},
"disk": {
"measurement": [
"used_percent",
"inodes_free"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"diskio": {
"measurement": [
"io_time"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
},
"mem": {
"measurement": [
"mem_used_percent"
],
"metrics_collection_interval": 60
},
"swap": {
"measurement": [
"swap_used_percent"
],
"metrics_collection_interval": 60
}
}
}
}
在 EC2 实例上启动 CloudWatch 代理后,自定义指标就可以正常工作,我可以在 CloudWatch 上看到它们。
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c ssm:configuration-parameter-store-name -s
我用这个 EC2 实例创建了一个 AMI,并用这个 AMI 创建了一个 AutoScaling 组。 然后,我根据自定义指标“mem_used_percent”(>=50)设置了一个警报,并将其用作 AutoScaling 组策略(添加 1 个实例)。附上图片。
我连接到 EC2 实例并使用“压力”增加使用的内存。发出警报,触发 AutoScaling 策略并创建新的 EC2 实例。
我看到的问题是我在特定 EC2 实例上创建警报,而不是在整个 AutoScaling 组上创建警报,并且一旦初始 EC2 实例终止,警报就不再有意义。 除了 AutoScaling 组,我如何配置相同的想法?
谢谢。
【问题讨论】:
-
Auto Scaling Group 的聚合统计信息是您要查找的内容? docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/…
-
是的,但是对于使用 CloudWatch 代理的自定义指标。
-
我认为您可以查看 [Aggregating or Rolling Up Metrics Collected by the CloudWatch Agent] 部分docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/… 如果您使用 Pearl 脚本,请查看 --aggregate / --autoscaling 选项@987654326 @
-
感谢 qkhanhpro。我会对其进行测试,并让您知道它是否有效。
-
"aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"]]。这就像一个魅力。 @qkhanhpro - 你想把它作为答案吗?
标签: amazon-web-services amazon-ec2 autoscaling amazon-cloudwatch