我正在设置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错误,我检查过这不是问题。
感谢任何帮助。
答案 0 :(得分:5)
Here是指向AWS支持的链接,但问题相同。
Here是Perl脚本源代码的链接。我不确定是否可以在此处公布,因此请打开ZIP文件转至mon-put-instance-data.pl
,然后搜索reported
。从那到ifs,如果你没有提供verify
,也没有自动缩放组名,则会出现错误。由于第一次仅用于测试 - 我们有赢家。请提供自动缩放组名称参数...
嗯,没有那个参数,但是如果你仔细观察,你可以看到reported
之前的某些行来自find,有查询。所以...你的实例无法访问。
使用CloudWatchClient::get_auto_scaling_group
在Google上搜索此result。从那里,您可以读到您应该授予您的实例权限,以便将数据发布到CloudWatch ...
如果您还有其他问题,请 - 询问。我会编辑这个答案,所以我们会有一些或多或少完整的东西 - 不仅仅是为了我。
答案 1 :(得分:4)
我在这种情况下做了最愚蠢的事情,我发布这个作为答案,所以它可以帮助其他人。 我正在测试不是任何自动缩放组成员的实例。
答案 2 :(得分:0)
我正面临着同样的挑战,但是对这个问题的正确答案是,您可能错过了在以下条件中提到的先决条件:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html#mon-scripts- perl_prereq
此编译错误实际上表明缺少某些软件包,而这些软件包是运行perl脚本所必需的。
如果您使用EC2 linux实例运行这些脚本,则可能错过了运行以下命令:
sudo yum install -y perl-Switch perl-DateTime perl-Sys-Syslog perl-LWP-Protocol-https perl-Digest-SHA.x86_64
运行此命令后,脚本应该运行正常,没有任何错误。
希望有帮助。 :)