如何找出我的 EC2 实例暂时停机的原因

如何找出我的 EC2 实例暂时停机的原因

我有一个在 Amazon EC2 上运行的实例。我刚刚检查了监控,发现服务器暂时瘫痪了。

15:16:00更准确地说,EC2 控制台的监控图表中和之间完全没有线15:46:00。我还从 Uptimerobot 那里确认我的服务器已关闭。

显然我的服务器停机了整整 30 分钟。我查看了 nginx 日志和系统日志,但没有发现任何异常。现在一切都正常。

我能不能以某种方式查明发生了什么事,这真的很奇怪。

这就是 php-fpm 发生的情况。

[29-Dec-2011 23:27:34] NOTICE: fpm is running, pid 1131
[29-Dec-2011 23:27:34] NOTICE: ready to handle connections
[04-Jan-2012 15:48:07] NOTICE: fpm is running, pid 1169
[04-Jan-2012 15:48:07] NOTICE: ready to handle connections
[04-Jan-2012 15:51:22] NOTICE: fpm is running, pid 1167
[04-Jan-2012 15:51:22] NOTICE: ready to handle connections

Nginx 日志。在此期间没有实际活动。该服务器目前仅用于一个小型网站。

220.181.108.175 - - [04/Jan/2012:14:30:50 +0000] "GET / HTTP/1.1" 404 22 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
123.125.71.105 - - [04/Jan/2012:14:32:14 +0000] "GET / HTTP/1.1" 404 22 "-" "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)"
74.86.158.106 - - [04/Jan/2012:15:48:41 +0000] "GET / HTTP/1.1" 200 9208 "-" "Mozilla/5.0+(compatible; UptimeRobot/1.0; http://www.uptimerobot.com/)"
124.115.0.157 - - [04/Jan/2012:15:56:15 +0000] "GET / HTTP/1.1" 301 178 "-" "Sosospider+(+http://help.soso.com/webspider.htm)"
74.86.158.106 - - [04/Jan/2012:15:56:43 +0000] "GET / HTTP/1.1" 200 9208 "-" "Mozilla/5.0+(compatible; UptimeRobot/1.0; http://www.uptimerobot.com/)"
74.86.158.106 - - [04/Jan/2012:15:57:50 +0000] "GET / HTTP/1.1" 200 3836 "-" "Mozilla/5.0+(compatible; UptimeRobot/1.0; http://www.uptimerobot.com/)"
77.21.146.23 - - [04/Jan/2012:16:06:52 +0000] "GET /robots.txt HTTP/1.1" 301 178 "-" "findlinks/2.0.2 (+http://wortschatz.uni-leipzig.de/findlinks/)"

此外,系统上唯一开放的端口是 80、443、12345(ssh)。我不知道在哪里可以找到实际的 ssh 日志,但我进行了 logwatch 转储,SSH 什么也没显示。

这些是监控图

在此处输入图片描述


@詹姆斯·利特尔

我检查过/var/log/btmp,该文件最后修改时间为 2012 年 1 月 1 日,大小为 0 字节。

ifconfig 显示所有 0,我假设没有错误,一切正常。我并没有ifconfig and ethtool您建议的那么丰富的知识。我尝试了一些谷歌搜索,但未能找到一些可靠的方法,为我提供一些信息。

我想我现在会给亚马逊发一封电子邮件,也许他们会给出一些答案。

答案1

您没有指定它是否真的重新启动了。如果您没有检查 - 使用uptime查看它上次重新启动的时间,或者彻底检查 syslog 或 dmesg(从您的 php-fpm 日志中,我猜它确实重新启动了)。由于它不可用了大约 30 分钟,因此看起来不像是某种计划中的升级(除非他们决定一次“更新”所有数据中心实例 ;)。

如果重新启动,则可能是您的实例内部出现故障,也可能是亚马逊出现故障 - 再次查看 syslog/dmesg。

如果不是重新启动,也可能是一些仅影响监控的问题。

Amazon 有数据中心问题的状态页面,并带有历史记录(位于您的 EC2 仪表板的某个位置)。对于计划的重启,在 EC2 中您也有历史记录(如果我没记错的话,在 EC2 下它就在“实例”上方)。

不过,单实例不可用是一个正常问题(我并没有说常见)。完全阻止它是不可行的。

答案2

这次停机是几周前发生的吗?亚马逊在 12 月中下旬对所有 EC2 实例进行了滚动升级和重启。他们在升级和重启前一两周就给所有人发了电子邮件。

相关内容