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

3
我正在使用AWS EC2部署Dropwizard服务器代码。最近我们遇到一个情况,实例自动停止了。调查后发现它的整个内存被消耗,我们发现大部分消耗内存的是备份文件和日志文件。我们删除了这些文件并重新启动服务器,现在它工作正常。
为避免将来出现这样的情况,我们考虑利用AWS提供的CloudWatch警报,但EC2警报的参数更多地是磁盘吞吐量、网络相关而不是磁盘空间相关。
他们建议在实际实例上安装CloudWatch代理(链接)
在RDS中,有一个内存警报类型(链接),如果内存低于某个预定义标准,则会触发该警报。
对于EC2实例和S3存储桶,我们是否有任何云监控警报类型或其他工具,当实例内存不足时会通过电子邮件触发通知?
注意:S3提供对象计数警报,但没有找到特定于低内存的警报。
更新: Michael的评论表明存在两个问题。EC2实例在内存(或存储)用尽时不会停止运行。这种情况不会发生。此外,存储桶的存储是无限制的。
可能有两种情况,实例可能由于其他原因停止,但当我们调查添加到8GB实例的存储时,它已满。对于S3,如他所建议的,没有存储量限制[因此couldwatch仪表板可能显示对象计数,而不是实际内存消耗,但是否有办法在AWS上,当S3使用一定数量的文件(以MB或GB为单位)时,我们可以收到通知]

这里有两个问题。EC2实例在耗尽“内存”(以及您实际描述的存储)时不会停止。这种情况是不会发生的。此外,存储桶的存储容量是无限的。 - Michael - sqlbot
@MIchael 当我们创建EC2实例时,我们会为其添加存储,对吗?那么,我们能否收到有关该存储的任何通知呢?此外,S3具有无限空间,但当存储达到该大小时,我们能否收到通知? - Prashant
@Michael-sqlbot,请查看更新后的问题,如果您发现任何进一步的更正,请告诉我,那将非常有帮助。 - Prashant
2个回答

1
如您所提到的,您需要在EC2实例上安装监控脚本或CloudWatch代理来导出内存使用率或磁盘使用率并附加警报 - 请参见https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html S3用于存储BLOB文件 - 您无需关心该服务中的内存使用情况,因为AWS会在幕后处理,因此您无法访问任何与内存相关的指标。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接