繁体   English   中英

Cloudwatch警报触发时,如何重新启动在EC2实例上运行的应用程序?

[英]How to restart an application, running on EC2 instance, when Cloudwatch alarm triggers?

我当前的设置具有AWS Couldwatch警报,例如在以下情况下触发电子邮件通知的发送。 n分钟内CPU使用率低于x%。 这很容易通过AWS管理控制台进行设置。 但是,在这种安排下,我随后需要远程登录到实例并手动重新启动失败的应用程序。 我想使用相同的Cloudwatch警报事件来自动执行此操作,而不是触发脚本的运行(在与我的应用程序相同的EC2实例上),然后重新启动我的应用程序。 这个怎么做?

如果有一种方法可以从运行应用程序的实例中捕获Cloudwatch警报事件,那么这可能是一种简便的方法,但是我不知道如何执行。

这里有一个类似的问题( 如何从CloudWatch alarm重新启动EC2实例 )。 但是,就我而言,Auto Scaling并不是可行的选择。 由于实例上运行的某些其他软件的许可限制。

我正在运行基于Windows的EC2实例。

谢谢,Yug

AWS CloudWatch警报可用于触发:

  • 自动缩放策略(例如,在自动缩放组中添加/删除实例)
  • 停止/终止EC2实例
  • 通过Amazon Simple Notification Service(SNS)发送通知

然后,SNS可以将通知以各种格式发送给订户:

  • 发送短信(仅限美国)
  • 将消息推送到HTTP / S端点(例如,您编写的应用程序)
  • 将消息推送到Amazon Simple Queue Service(SQS)
  • 发送通知到移动设备(例如,Android,iPhone)

根据您的方案,可以使用HTTP或SQS通知,但是您必须编写一个程序来响应通知。 但是,您只会使用代理来维护应用程序的运行状况(例如,CPU使用率),而不会实际监视应用程序的运行状况。

您可以将自定义指标从应用程序发送到CloudWatch,然后将警报配置为基于此自定义指标触发。 但是,如果您要解决所有这些麻烦,那么检测到该问题的代码可能应该直接解决它,而不是通过CloudWatch解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM