温馨提示×

怎样过滤debian apache日志内容

小樊
40
2026-10-13 01:38:43
栏目: 智能运维

在 Debian 上,Apache 日志通常位于:

  • 访问日志:/var/log/apache2/access.log
  • 错误日志:/var/log/apache2/error.log

“过滤日志内容”常见有几种场景,下面按用途给你示例。


一、按关键词过滤(最常用)

1. 查看包含某个 IP 的访问记录

grep "192.168.1.100" /var/log/apache2/access.log

2. 查看某个 URL 的访问

grep "/login.php" /var/log/apache2/access.log

3. 查看 404 错误

grep " 404 " /var/log/apache2/access.log

4. 查看错误日志中的 PHP 错误

grep -i "php" /var/log/apache2/error.log

二、按时间过滤(结合日期)

1. 查看某一天日志

grep "10/Apr/2024" /var/log/apache2/access.log

2. 查看某个时间段(如 10–11 点)

grep "10/Apr/2024:10:" /var/log/apache2/access.log

三、按状态码过滤(访问日志)

1. 只看 500 错误

awk '$9 == 500' /var/log/apache2/access.log

2. 统计各状态码数量

awk '{print $9}' /var/log/apache2/access.log | sort | uniq -c | sort -nr

四、按 IP 统计访问量

awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head

五、实时过滤日志(tail + grep)

tail -f /var/log/apache2/access.log | grep "192.168.1.100"

六、使用日志分析工具(更高级)

1. goaccess(实时可视化)

sudo apt install goaccess
goaccess /var/log/apache2/access.log

2. apachetop

sudo apt install apachetop
apachetop -f /var/log/apache2/access.log

七、如果用了日志轮转(logrotate)

旧日志可能是:

/var/log/apache2/access.log.1
/var/log/apache2/access.log.2.gz

查看压缩日志:

zcat /var/log/apache2/access.log.2.gz | grep "404"

如果你能说清楚想过滤什么内容(比如:某 IP、某接口、错误类型、爬虫、攻击请求),我可以直接给你一条最合适命令。

0 踩