我有一个在 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 实例进行了滚动升级和重启。他们在升级和重启前一两周就给所有人发了电子邮件。