问题描述:
下午四点阿里云发送服务610告警。查看监控发现cpu 内存 网络连接无明显异常。
但是公网流入流出和磁盘IO明显增高。
初步结论:
由于公网流入明显比流出高,断定是有人通过公网上传文件。
定位步骤:
查看指定服务器的最后登录用户
```
[root@xxxx conf]# last
xxx pts/2 xx.xxx.xxx.xxx Tue Feb 26 17:25 still logged in
xxx pts/1 xx.xxx.xxx.xxx Tue Feb 26 17:05 still logged in
```
因为都是我个人登录记录,所以排除登录服务器后进行文件上传,那就可能是通过应用服务上传的文件。
根据告警时间,分析是下午4点以后,查询nginx所有下午4点的日志,并获取请求大小,排序。
```
grep "26/Feb/2019:16" /home/data/nginx/logs/**/*.log | awk -F " " '{print $11}' | sort -nr > aa.log
```
查看日志发现请求体最大的一个120多mb。
```
/home/data/nginx/logs/seafile-local/xx.xx.xx.xx.log:- xxx - - [26/Feb/2019:16:18:35 +0800] "GET /seafhttp/files/26fd5fe2-77b7-4809-b7fd-f4ac88e1abbe/apk_v1.7.2_build123_20190225T1853_qa_debug.ipa HTTP/1.1" 200 132240043 "http://192.168.1.201:801/" xx.xx.xx.xx:xx "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36" "-" xxx.xxx.com 200 xx.xx.xx.xx:xx 204.110 58.636
```
由此定位问题。