服务器流量异常,如何查找问题所在
今天登录宝塔,突然发现负载均衡和CPU超出往常,上行流量也一直在几百KB游走,通过一番查找,找到了问题所在,是网络爬虫实时抓取网站导致,封禁对应IP问题解决,现在记录一下解决流程。
1、为查找到底是谁在用流量,需要先下载nethlogs
# Ubuntu/Debian
sudo apt install nethogs
# CentOS/RHEL
sudo yum install nethogs
# 运行(替换 eth0 为你的网卡,如 ens33、enp0s3)
sudo nethogs eth0
2、如何知晓服务器的网卡id
ip addr
#或
ip a

3、知晓网卡后,执行nethogs eth0指令

4、确认是nginx后,就可以肯定是网站的问题了,通过PID,我们就可以查找对应的客户端IP。
ss -tnp | grep "pid=20654"
#查询结果
ESTAB 0 0 192.168.1.100:80 203.0.113.50:54321 users:(("nginx",pid=20654,fd=12))
5、再根据IP地址去查找网站日志文件,就能知道该IP都进行了哪些操作了。
grep "203.0.113.50" /www/wwwlogs/yourdomain.com.log
6、通过查看网站日志,确认是网络爬虫,所以直接禁用该IP访问
#网站配置文件下插入代码
deny 203.0.113.0/24;
PS:这只是针对网站流量异常的操作流程,服务器负载均衡、CPU、流量异常,也可能是其他原因,这就需要自己去查找问题了。