设置Amazon Cloudwatch以在服务器closures时获取警报

我有一个在Amazon EC2上运行的实例,我变成了一个Web服务器。

现在我一直在看cloudwatch,但是我不知道这是否是正确的工具。 基本上我想知道服务器何时closures,无论出于何种原因。

也许服务器被黑客攻击,或者服务器出于任何原因closures,我想要得到一个通知。

我已经启用了clouwatch,并试图build立一个警报,但我只看到networkinginput或CPU使用情况,一个d metrix的东西。 现在我不知道这些是否会做到这一点。

一个build议是监视应始终具有数字值的度量标准(如CPU使用率),并在度量标准状态为“数据不足”时触发警报,您​​可以使用Amazon的SNS通知您这一点。

或者,您可以设置自定义指标,为特定服务(httpd,mysql等)返回一个二进制状态,并在任何时候读取0时生成警报。此方法提供了更精细的可能性 – 将其与“数据不足覆盖所有情况。

你可能会更成功地使用实际监控你的网站的东西(例如Pingdom,UptimeRobot等)。

您可以使用OpsGenie( http://www.opsgenie.com )为CloudWatch发送丰富警报。 Currenly CloudWatch有一套有限的警报机制,包括电子邮件和通过SNS机制的短信。

您可以将CloudWatchconfiguration为调用OpsGenie Web服务API,根据收件人的偏好通过推送通知快速向iPhone / Android应用程序,短信,语音电话等等通知正确的人员。

有关详细信息,请参阅以下博客文章:

http://www.opsgenie.com/blog/2012/09/04/aws-cloudwatch-alarms-on-your-mobile-with-opsgenie.html

您可以使用Route 53及其“健康检查”。 有了这个,您可以发送SNS警报,并将您的用户redirect到另一个辅助网站或错误屏幕。 我认为这是更好的解决您的问题,然后Cloudwatch。

您可以在Cloudwatch中创build一个警报,并设置警报,以便在进入“数据不足”状态时通知您。 大部分已经可用的指标都来自VM主机,对您的机器内部发生的事情没有任何真正的想法。

一开始,我build议在您的实例中安装Amazon工具,并设置一个脚本来报告(任何事情:CPU使用情况,无论如何),并在该指标停止发送数据时发出警报(因此,指标进入“不足数据”状态)。

这只是一个最低限度,但应该是一个很好的开始。

请参阅Cloudwatch开发人员指南的监视脚本部分: http : //docs.amazonwebservices.com/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts.html

如果您想要监视HTTP端点(例如您的API或网站),请查看我的博客post,了解如何使用Route 53运行状况检查(即使您不使用Route 53作为DNS):

http://eladnava.com/monitoring-http-health-email-alerts-aws/

您可以实施EC2状态检查 。 这是从EC2仪表板完成的。 转到实例,select你的实例,select状态检查选项卡(旁边的实例描述)点击创build状态检查警报默认的“状态检查失败(任何)”应该是好的。 我总是把间隔设置为大于一,所以我不会为暂时的问题而烦恼。

也可以设置EC2 自动恢复您的实例,如果由于某种原因而closures的话。

我也推荐一个辅助监测系统。 哑这个好。 我设置了从另一个主机指向我的web服务器的linux实用程序mon。 如果连续两次得到200个响应代码,我会收到一封电子邮件。