2012-02-17 168 views

回答

7

CloudWatch监控就像您发现的一样。您可以通过查看指标来推断您的某个实例已被冻结,但CloudWatch不会例如例如,当您的应用停机或运行速度过慢时,会向您发送电子邮件。

如果您在应用程序或实例关闭时正在寻找某种通知,我建议您使用监控服务。 Pingdom是一个不错的选择。您也可以在AWS上设置新实例,并安装一个监控工具,如Nagios,这将是我的首选选项。

在漫长的道路上总是值得的良好实践:使用负载平衡(Amazon ELB),运行应用程序的多个实例,自动缩放(当实例关闭时,Amazon会自动启动一个新实例并维护您的SLA )和自定义监控。

我的团队已经使用了很长时间的自定义监控脚本,并且一旦发生故障,我们就始终知道故障。基本上,如果我们有两个节点运行我们的应用程序,那么节点1向节点2和节点2发送HTTP请求到1.如果任何请求花费比预期的多,或者返回了意外的HTTP状态或响应正文,脚本会发送一封电子邮件给系统管理员。现在,我们依靠更强大的方法,如Nagios,它甚至可以监视操作系统的东西(线程等),应用程序服务器(连接池健康等)等等。值得投入每一分钱来设置它。

1

您可以随时为工具/测试提供另一个实例,该实例将根据计划尝试http请求并测量响应时间,然后您可以使用CloudWatch发布该响应时间,并在其结束时设置警报一定的阈值。

你甚至可以从实例本身做到这一点。

4

CloudWatch最近添加了“状态检查”度量标准,可以回答您关于某个实例是否已关闭的问题之一。它不会向您的Web服务器发出请求,而是进行系统检查。如前面的回答所示,使用ELB进行HTTP健康检查。

10

要监控CloudWatch中的事件,请创建一个警报,该警报会根据给定阈值监控度量标准。

创建警报时,您可以添加用于发送通知的“操作”。 AWS通过SNS(简单通知服务)处理通知。您可以订阅通知主题,然后您会收到一封电子邮件给您。

对于EC2指标,例如CPU或磁盘利用率,这是从AWS文档中的指南:http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/US_AlarmAtThresholdEC2.html

如已经回答,使用ELB监视HTTP。

这是可度量的ELB名单: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html#available_metrics

为了回答您的具体问题,监控X秒为HTTP响应,你需要建立一个报警监视ELB“延迟”。

0

正如上面提到的Kurst Ursan,使用“状态检查”度量标准是一种可行的方法。在某些情况下,您将无法浏览该指标(即,如果您;正在使用AWS OpsWorks),那么您将不得不自行报告该自定义指标。但是,您可以设置一个基于始终匹配的度量标准(处于OK状态)的警报,并在状态更改为“INSUFFICIENT DATA”状态时发出警报触发,这在技术上意味着CloudWatch无法确定状态是否正常或ALARM,因为它无法到达您的实例,AKA您的实例处于脱机状态。

10

亚马逊的Route 53健康检查是该工作的正确工具。

Route 53可以监视应用程序以及Web服务器和其他资源的运行状况和性能。

您可以在Route 53中设置HTTP资源检查,以便在服务器关闭或发生错误时作出响应时触发电子邮件通知。

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

+0

感谢史蒂芬,我不知道你能做到这一点(甚至没有域号公路上53)。每月进行50次健康检查,这比pingdom便宜很多,如果只有一两个EC2实例,就可以运行自己的EC2实例。 – spidie 2015-06-04 09:35:42

相关问题