你问的“监控 Apache 日志变化”通常可以从 实时查看、自动告警、集中收集、可视化 几个层面来做。下面按常见场景给你讲清楚。
tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log
适合人工临时排查问题。
tail -f /var/log/apache2/access.log | grep 500
tail -f /var/log/apache2/error.log | grep -i error
apt install inotify-tools
inotifywait -m /var/log/apache2/access.log
可检测:
watch -n 5 "wc -l /var/log/apache2/access.log"
tail -f access.log | awk '{print $9}' | sort | uniq -c
tail -n 1000 access.log | awk '{print $1}' | sort | uniq -c | sort -nr
关注:
apt install fail2ban
可监控:
并自动封 IP。
适合服务器集群:
配合 Grafana 做 Dashboard。
适合生产环境:
Apache 日志会被 logrotate 切割:
/etc/logrotate.d/apache2
监控时要监听 目录,而不是固定文件。
| 场景 | 推荐方案 |
|---|---|
| 单机 / 个人 | tail + fail2ban |
| 小公司 | tail + 脚本 + 邮件告警 |
| 生产环境 | ELK / Loki + Prometheus |
| 安全重点 | Fail2Ban + WAF |
如果你愿意,可以告诉我:
我可以直接给你一套可复制的配置。