心情真不爽。一大早过来 10点多,服务器开始502 。 开始 SSH 上服务器 :top 看下。服务器 负载已经到了 200多。 可怕。php-cgi 进程 的wcpu 大部分都到了 5左右。 明显PHP 负载太大了。 然后查看 db 查看 static 等服务器,均没发现异常。 就在检查的过程中。突然就好了。。。。。 我见好了所以我又去忙其他的事去了。。。。几个应用等着上线。
中午回家想想,不行不排查出问题,那我和铁道部有啥区别。 决定下午一定要排查出问题所在,严谨对待每一个问题。
终于我想应该是找到了问题。 分析如下:
首先今天的故障时间是 10点 5分左右。 那我就导出 10点这一小时的 nginx 记录
cat nginx-access.log | grep 2011:10 > 2011-10.log
然后
cat 2011-10.log | awk '{print $1}' | sort | uniq -c | sort -r | more
统计一下 PV 排行。 看下是否有特别明显的 刷帖或者采集痕迹。
49086 219.15.19.17
4739 21.5.230.83
4527 124.27.23.58
4008 121.18.21.177
..........
再看下是否可能给人 CC或者其他啥的
cat 2011-10.log | awk '{print $9}' | sort | uniq -c | sort -r | more
7468 /bbs/index.php
7198 /bbs/js/lang/zh_cn.js
7128 /do_not_delete/noc.gif
6681 /bbs/js/pw_ajax.js
6439 /bbs/js/desktop/Compatibility.js
6379 /bbs/js/core/core.js
6242 /bbs/images/pw_core.css?100919
看起来似乎也正常。
看完之后,我感觉有戏了。 排行第一的和排行第二的差距也太大了吧。。。
然后我又分别导出了 9点的 日志 和 11点的日志,相比下那个IP 的一个小时访问量太异常 了。几乎断定是这个IP 的问题。
如果是当时的话。就可以直接使用 iptables 封掉他 就行。
完了完了