我们已经为AWS豆茎设置了一个不可变的配置,它同时使用web和工作类(多个集群)。当我们部署一个新的应用程序时,它会创建一个临时的自动标号组,然后部署到这个组中,最后切换回旧的自动标号组。这一过程大约需要20-30分钟,工作正常。
尽管每次我们部署应用程序时,监视统计数据: CPU利用率、内存利用率、磁盘空间等等,在返回之前都会消失5-6小时。似乎是AWS问题,但不确定我们是否做错了什么。还有其他人经历过这样的行为吗?有解决办法吗?
编辑:这是缺少内存度量的屏幕截图,如您所见,在下午5:30到11:30之间没有数据

发布于 2020-12-08 02:03:04
对于将来发现这个问题的人来说-我知道了。我使用的脚本是由Cloudwatch提供的,它在内部缓存自动缩放组名称6小时。通常情况下,这将不是一个问题,因为这些值不定期变化。但是,由于不可变部署,在部署期间会创建一个临时的自动缩放组,该组将被缓存6个小时。
为了解决这个问题,我替换了CloudWatchClient代码中的以下一行:
$meta_data_short_ttl = 21600; # 6 hours通过以下方式:
meta_data_short_ttl = 600; # 10 mins如果您使用的是.ebextension,也可以通过这个剧本更改现有代码。
04-reduce-cache:
command: sed -i 's/meta_data_short_ttl = 21600; # 6 hours/meta_data_short_ttl = 600; # 10 mins/g' /opt/cloudwatch/aws-scripts-mon/CloudWatchClient.pm发布于 2020-08-10 07:28:30
我尝试使用负载平衡的EB环境通过检查实例复制CPUUtilization。
在不可变部署之后,我观察到了一个小间隙 (10分钟)。离5-6小时还很远。
观察到的延迟仅在EB控制台中出现。在相应的 (CW)度量中没有延迟。因此,在等待EB控制台赶上时,我可以监视CW中的CPUUtilization。
对于我的测试,我执行了两个不变的部署。在CW中,对于部署所创建的新实例,度量标准(没有任何空白)很好地对齐:

您的实例的度量标准在CW中也应该是可行的。因此,当EB控制台迎头赶上时,您应该能够在那里查看它们。
要获得所有单个度量的统一视图,可以使用度量数学
AVG(METRICS())

https://stackoverflow.com/questions/63238526
复制相似问题