在 Linux 下分析 syslog(系统日志)是排查系统问题、安全事件和服务异常的重要手段。下面从 日志位置、查看方式、分析工具、常见场景 四个方面系统说明。
常见路径:
/var/log/messages # 通用系统日志(CentOS/RHEL)
/var/log/syslog # 通用系统日志(Debian/Ubuntu)
/var/log/secure # 认证、SSH 登录(RHEL)
/var/log/auth.log # 认证日志(Debian)
现代 Linux 默认使用 systemd:
journalctl
tail -f /var/log/syslog
tail -f /var/log/messages
grep "2026-01-21 10:" /var/log/syslog
grep -i error /var/log/syslog
grep sshd /var/log/auth.log
journalctl -xe # 最近错误
journalctl -u nginx # 某服务
journalctl --since "2026-01-21 09:00"
journalctl -p err # 只看错误
awk
sed
sort | uniq -c
示例:统计 SSH 登录失败 IP
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
apt install logwatch
logwatch --detail High --range today
适合分析 /var/log/nginx/access.log
grep "Failed password" /var/log/auth.log
防护:
journalctl -b -1
last reboot
grep -i "out of memory" /var/log/syslog
dmesg | grep -i oom
journalctl -u mysql -xe
如果你愿意,可以:
我可以直接帮你分析。