Debian 上 Apache 日志突然或持续变大的原因通常可以归纳为以下几类,从最常见到较少见依次说明,并给出排查方法。
判断方法
wc -l /var/log/apache2/access.log
或看单位时间增长:
tail -f /var/log/apache2/access.log
日志中常见:
/wp-login.php、/admin、/.env 等查看异常 IP
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head
Apache 默认:
LogLevel warn
如果设置成:
LogLevel debug
或
LogLevel info
error.log 会迅速膨胀。
检查
grep LogLevel /etc/apache2/conf-enabled/* /etc/apache2/apache2.conf
常见问题:
现象
Debian 通常用 logrotate:
/etc/logrotate.d/apache2
如果:
会导致:
检查
ls -lh /var/log/apache2/
cat /etc/logrotate.d/apache2
例如:
Referer / User-Agent 很长查看日志格式
grep LogFormat /etc/apache2/apapche2.conf
CustomLog 被重复定义有时:
.1 .2 .gz 堆积du -sh /var/log/apache2/*
# 1. 看哪个日志大
du -sh /var/log/apache2/*
# 2. 看实时增长
tail -f /var/log/apache2/access.log
# 3. 看最多 IP
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head
# 4. 看错误日志内容
tail -n 50 /var/log/apache2/error.log
# 5. 看 logrotate
cat /etc/logrotate.d/apache2
如果你愿意,可以把:
tail 几行日志发出来,我可以直接帮你判断是流量问题还是配置问题。