前段时间某天睡午觉的时候,嫌监控报警太吵给静音了。然后就一直忘了开。刚刚想起来重新打开翻看了一下历史,发现有一台备份服务器负载高到了7+。
连入服务器之后发现一些无关紧要的东西CPU占用很高,比如syslog,rinetd等。不是恶意进程那么就先不管他。
查看磁盘io,发现synchting占用巨高。进入后发现synchting报磁盘空间不足。
满头问号看了一下,发现磁盘确实满了。遂开始排查是哪里在作妖,最后发现/var/log 写了满满829G日志。
du -ah –max-depth=1 .
可以只统计当前目录,不统计子目录。
几百G的日志咋看?tail直接看文件尾就行了。
tail -n 100 文件名
然后发现是rinetd的报错,rinetd[461412]: accept(4): Too many open files
查看了一下rinetd.conf 发现指向一个ip:8112,我都忘记是啥了,也记不起那个ip是什么机器的。于是直接ssh进去破案。
是前段时间玩帕鲁帕鲁帕,用这台备份服务器反代了一下开服的端口。然后没玩了之后关掉我也就没管了,没有想起来关这边的反代。
然后估计是哪个杀千刀的炸服扫到了我的ip,然后一看8112这不是帕鲁默认端口吗,就给我炸了。
rinetd都扛不住,想象不到帕鲁那弱鸡服务端能坚持几秒钟。
看了下监控记录复盘,从2-29早上7点开始连接并发50个左右而已。然后就这样一直炸了好几天直到硬盘满。
解决方法也很简单,直接rm -rf *,把/var/log清空,然后重启服务器就行了。重启起来之后重新拉起一下需要的服务。