排除Amazon EC2上神秘服务器死机的故障

我有一个在Ubuntu Natty / 11.04上运行LAMP的Amazon EC2实例。 在过去的几个月里,有三次,其中两次在最近两周内,服务器刚刚停止。 它变得没有反应,并停止响应连接尝试(SSH或其他),但EC2控制面板仍然报告它正在运行。 每次我必须通过控制台重新启动实例,导致数据丢失。

所以,现在我正在试图诊断这个问题,但我空白,我需要什么其他检查的build议。 Syslog中没有任何可疑的东西 – 每一次,发生的最后一件事是在运行其常规的5分钟cronjob的时候,尽pipe我不知道机器什么时候停止工作,但是我不能说cron日志有多接近到冻结的地步。 之后,就好像机器只是在重启的时候才运行,在这之后,syslog包含了和普通的dmesg输出一样的东西。

stream量和这些冻结时间似乎没有关系。 每个场合都远离交通高峰时期。

我还有什么可以试图找出造成这些问题的原因? 这个问题可能是什么?

附录:服务器在任何情况下都没有负载。 CPU和内存的使用都是安全的。 有大量的可用磁盘空间(几十千兆字节)。 在Apache或MySQL日志中没有什么奇怪的,他们只是在那个时候停止运行。 这是一个中/高CPU实例。

你应该做的第一件事是设置一些监视,让你知道什么时候服务器变得没有反应。 您可以使用pingdom和/或cloudwatch来检查服务正常运行时间和系统统计信息(如cpu和ram)。 两者都有免费的小型账户计划。 这样可以让你在发生故障时得到一个想法,并且可以更容易地search日志以了解当时发生的情况。 通常这样的事情可能是由于系统资源不足而引起的,你不会提到你的实例的大小,但是像微型这样的东西可能只是通过一个简单的cron作业来挂100%cpu,而在这一点上服务器只是locking。

在系统日志旁边检查其他日志,检查所有的应用程序日志,看它们是否在系统closures之前抛出错误。

在主机上可能是坏的NIC。