Auto Scaling 组 AWS 的内存利用率

Posted

技术标签:

【中文标题】Auto Scaling 组 AWS 的内存利用率【英文标题】:Memory Utilization for auto scaling group AWS 【发布时间】:2018-04-16 03:11:31 【问题描述】:

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

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

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

当我将它用于简单实例时,它工作正常。但是当我按照上面的文档中的建议使用下面的命令进行 autosacling 时,它会给出错误

命令

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

错误:

警告:这次不会报告 Auto Scaling 指标。

当我在互联网上检查此错误时,很少有人说这可能是 /var/tmp/aws-mon 中的实例 ID 错误,我检查过这不是问题。

感谢任何帮助。

【问题讨论】:

这可能非常有用:medium.com/@lvthillo/… 【参考方案1】:

Here 链接到具有相同问题的 AWS 支持。

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

好吧,没有那个参数,但是如果你仔细观察,你会发现 reported 之前的一些行来自 find,有查询。所以...您的实例无权访问。

使用CloudWatchClient::get_auto_scaling_group 搜索会得到result。从那里您可以了解到您应该授予您的实例将数据发布到 CloudWatch 的权限...

如果您还有其他问题,请 - 问。我会编辑这个答案,所以我们或多或少会有一些完整的东西——不仅对我来说。

【讨论】:

感谢您的努力,我找到了原因并更新为答案。【参考方案2】:

好吧,在这种情况下,我做了最愚蠢的事情,我将其发布为答案,以便对其他人有所帮助。 我正在测试不属于任何 Auto Scaling 组的实例。

【讨论】:

【参考方案3】:

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

rm -rf /var/tmp/aws-mon/

然后运行,

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

当监控脚本运行时,它会将 instance_id 缓存在/var/tmp/aws-mon 下。 它在获取 Auto Scaling 组名称时使用的过滤器之一是实例 ID。其 TTL 为 6 小时,因此如果您的 AMI 具有此缓存,则查询将在创建实例后长达 6 小时内使用错误的实例 ID,从而导致无法检索 Auto Scaling 组名称。

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

【讨论】:

【参考方案4】:

我也面临同样的挑战,但这个问题的正确答案是,您可能错过了以下提到的先决条件:

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

运行此命令后,您的脚本应该可以正常运行而不会出现任何错误。

希望对您有所帮助。 :)

【讨论】:

以上是关于Auto Scaling 组 AWS 的内存利用率的主要内容,如果未能解决你的问题,请参考以下文章

在某些情况下,AWS ELB 不会将请求分发到 Auto Scaling 组 EC2 实例

为啥 AWS Auto Scaling 在扩展期间会启动多个实例?

ec2 实例和 AWS Auto Scaling 组

AWS - 错误 - 更新 Auto Scaling 组、Amazon CloudFormation、无法部署配置

amazon aws Auto Scaling 组实例名称标签

我们可以从 AWS 的 Auto Scaling 组停止 EC2 实例吗