在 Debian 系统中,监控日志变化有多种方式,取决于你想实时监控、集中管理还是自动化告警。下面按常见场景给你一个实用指南。
tail -f适合临时观察某个日志文件:
tail -f /var/log/syslog
tail -f /var/log/auth.log
退出:Ctrl + C
只看最新 N 行:
tail -n 100 -f /var/log/syslog
journalctl(systemd 系统)Debian 8+ 默认使用 systemd:
journalctl -f
查看某个服务:
journalctl -u nginx -f
按时间:
journalctl --since "10 min ago"
tail -f /var/log/syslog | grep "error"
多关键字:
tail -f /var/log/syslog | grep -E "error|fail|timeout"
tail -f /var/log/syslog | while read line; do
echo "$line" | grep "error" && echo "$line" | mail -s "Log Alert" admin@domain.com
done
logwatch(每日汇总)apt install logwatch
logwatch --detail High --mailto admin@domain.com
rsyslog + 远程日志适合多台服务器:
apt install rsyslog
配置示例(发送到远程):
*.* @@logserver:514
fail2ban(安全日志监控)监控 SSH / 暴力破解:
apt install fail2ban
systemctl enable fail2ban
inotifywait监控日志文件是否被修改:
apt install inotify-tools
inotifywait -m /var/log/syslog
/var/log/syslog 系统日志
/var/log/auth.log 认证日志
/var/log/kern.log 内核日志
/var/log/dpkg.log 软件安装
/var/log/nginx/ Web 服务
如果你能说明:
我可以给你更精确的方案。