自动扩展组AWS的内存利用率

ami*_*ngh 12 amazon-web-services autoscaling amazon-cloudwatch

我正在设置AWS自动缩放,在设置扩展策略时遇到了这个问题.

我想使用内存作为参数,所以我从下面的链接安装了CLoudwatch的脚本用于内存监控.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html

当我使用它作为简单的实例它工作正常.但是当我按照上面doc中的建议使用以下命令进行自动清理时,它会给出错误

命令

./mon-put-instance-data.pl --mem-util --mem-used --mem-avail --auto-scaling = only

错误:

警告:此次不会报告Auto Scaling指标.

当我在互联网上检查这个错误时很少有人说它可能是/ var/tmp/aws-mon中的instance-id错误我检查过这不是问题.

任何帮助表示赞赏.

Mic*_*ski 5

以下是具有相同问题的AWS支持链接.

是Perl脚本源代码的链接.我不确定它是否可以在这里公开,所以打开ZIP文件转到mon-put-instance-data.pl,然后搜索reported.从那个到ifs,如果您没有提供错误verify,或者自动调整组名称,则会出现错误.由于第一次仅用于测试 - 我们有赢家.请提供自动缩放组名称参数...

好吧,没有那个参数,但如果你仔细观察,你可以看到之前的一些行reported,有查询.所以...你的实例无法访问.

谷歌搜索CloudWatchClient::get_auto_scaling_group给出了这个结果.从那里您可以看到您应该授予您的实例权限以将数据发布到CloudWatch ...

如果您还有其他问题,请 - 询问.我会编辑这个答案,所以我们会有一些或多或少完整的东西 - 不仅仅是为了我.


SAB*_*SAB 5

如果您的实例属于Autoscaling组,则为工作解决方案。

rm -rf /var/tmp/aws-mon/
Run Code Online (Sandbox Code Playgroud)

然后跑

./mon-put-instance-data.pl --mem-util --auto-scaling=only
Run Code Online (Sandbox Code Playgroud)

运行监视脚本时,它将在下缓存instance_id /var/tmp/aws-mon
获取自动伸缩组名称时,它使用的过滤器之一是实例ID。TTL是6个小时,因此,如果您的AMI拥有此缓存,则查询将在创建实例后的6个小时内使用错误的实例ID,这将导致该实例无法检索自动伸缩组名。

参考:https : //forums.aws.amazon.com/thread.jspa? threadID =117783


ami*_*ngh 4

好吧,我在这种情况下做了最愚蠢的事情,我将其作为答案发布,以便它可以帮助其他人。我正在测试不属于任何自动扩展组的实例。