如何为AWS EC2实例S3存储桶设置内存不足警报?

时间:2018-09-03 09:18:58

标签: amazon-web-services amazon-s3 amazon-ec2

我正在使用AWS EC2部署dropwizard服务器代码。我们最近遇到了一个实例自动停止的情况。经过调查,我们发现整个内存已被消耗,我们看到消耗的内存主要是备份文件和日志文件。我们删除了这些文件,然后重新启动了运行良好的服务器。

为避免将来发生此类行为,我们考虑使用AWS提供的ClaudWatch警报,但是EC2警报的参数更多是磁盘吞吐量,而网络与磁盘空间无关。

EC2 monitoring.

他们建议在实际实例上安装cloud watch agent

RDS中有memory alarm type,如果内存仍然小于某些预定义的标准,则会触发该事件。

对于EC2实例,S3存储桶,我们是否有任何云监视警报类型或任何其他工具,这些实例会在实例内存不足时触发电子邮件通知?

注意:S3提供了对象计数警报,但找不到任何特定于内存不足的警报。

更新

Michael的注释表明:“这里有两个问题。当EC2实例用尽“内存”(即存储,这实际上是您所描述的)时,它们不会停止。这不会发生。而且,存储桶是无限的。”

实例可能由于其他原因而停止运行的可能性有两种,但是当我们调查为8GB实例添加的存储空间已满时。正如他所建议的,对于S3,没有多少存储空间限制[因此,canwatchwatch仪表板可能会显示对象计数,而不是实际的内存消耗,但是有什么方法可以使S3消耗一定数量的文件(以MB或GB为单位)。 AWS我们可能会收到通知]

2 个答案:

答案 0 :(得分:1)

如前所述,您需要在EC2实例上放置监视脚本或CloudWatch代理以导出内存使用或磁盘使用并向其附加警报-请参阅https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html

S3与存储blob文件有关-您不需要关心该服务中的内存使用情况,因为该服务是由AWS在后台处理的,因此这就是您无法访问任何与内存相关的指标的原因。

答案 1 :(得分:0)

根据您的EC2实例类型,您可以配置这些警报。 内存,磁盘空间,CPU利用率与操作系统指标有关。 也有各种工具可以监视这些工具,例如:Nagios 否则,如果实例为Unix / AMI,则可以通过电子邮件设置自己的自定义监控 设置cron作业并执行监视Shell脚本->特定于磁盘,CPU等,并针对您的电子邮件地址设置电子邮件通知。