【发布时间】:2015-01-21 17:53:46
【问题描述】:
我当前的设置有 AWS Couldwatch 警报触发发送电子邮件通知,例如。 CPU 使用率在 n 分钟内低于 x%。这很容易通过 AWS 管理控制台进行设置。但是,在这种安排下,我需要远程登录到实例并手动重新启动失败的应用程序。我想使用相同的 Cloudwatch 警报事件自动执行此操作,而不是触发脚本运行(在与我的应用程序相同的 EC2 实例上),然后重新启动我的应用程序。如何做到这一点?
如果有一种方法可以从运行应用程序的实例中捕获 Cloudwatch 警报事件,那么这可能是一种简单的方法,但我不知道该怎么做。
这里发布了一个类似的问题 (How to restart EC2 instance from CloudWatch alarm)。然而,就我而言,我不认为 Auto Scaling 是一个可行的选择。因为实例上运行的其他一些软件的许可限制。
我正在运行基于 Windows 的 EC2 实例。
谢谢, 呸
【问题讨论】:
-
是否更容易监控应用程序是否正在运行,如果没有则尝试按设定的时间间隔重新启动?这也将涵盖其他恢复场景,而不仅仅是与 cloudwatch 警报相关。
-
@Jason。这可能是一个选项,但我认为必然需要编写一个监视脚本,该脚本在设定的时间间隔内检查 CPU 使用情况并跟踪它是否低于设定的阈值 n 分钟(基本上是 Cloud Watch 执行的功能,如果有是一种简单地捕捉该事件的方法)。此外,如果说应用程序从未启动(例如,我正在对实例进行一些维护工作),我不想要触发事件。一切皆有可能,但希望有一个更简单的解决方案。谢谢
-
基本上,要使用 Cloudwatch 执行自动化操作,您需要一个脚本/服务来监控 SQS 队列。这可能比直接监控服务更复杂。
-
@datasage。新的 Lambda 服务怎么样,或者这也可能是一条更复杂的路线?我在文档中看不到是否可以使用 Cloudfront 事件进行配置。
-
据我了解,Lamba 是一种运行相对隔离的工作人员的服务。就像一个基于上传到 s3 的文件的图像转换系统。您的问题并不是它真正要解决的问题。
标签: events amazon-ec2 alarm amazon-cloudwatch