温馨提示×

怎样过滤debian apache日志

小樊
41
2026-09-01 08:16:17
栏目: 智能运维

在 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 "/index.php" /var/log/apache2/access.log

3. 查看 404 错误

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

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

grep "PHP" /var/log/apache2/error.log

二、实时过滤日志(排错常用)

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

只看 POST 请求。


三、按时间过滤

1. 查看今天的日志

grep "$(date +%d/%b/%Y)" /var/log/apache2/access.log

2. 查看某一天的日志

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

四、使用 awk 按字段过滤

Apache 默认日志格式示例:

192.168.1.1 - - [10/Oct/2024:12:00:00 +0000] "GET / HTTP/1.1" 200 1234

1. 只看状态码不是 200 的

awk '$9 != 200' /var/log/apache2/access.log

2. 统计各状态码数量

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

五、处理压缩日志(logrotate)

Debian 默认会压缩旧日志:

zcat /var/log/apache2/access.log.1.gz | grep "error"

六、进阶工具(可选)

  • GoAccess(实时可视化)
apt install goaccess
goaccess /var/log/apache2/access.log
  • apachetop
apt install apachetop
apachetop -f /var/log/apache2/access.log

七、如果你有具体需求

你可以告诉我:

  • 想过滤 IP / URL / 状态码 / 时间?
  • 是 访问日志还是错误日志?
  • 用于 安全排查、性能分析还是调试?

我可以直接给你精确命令。

0 踩