在 Linux 里,“syslog”通常指系统日志机制(rsyslog / syslog-ng / journald)以及日志内容本身。分析 syslog,一般分三步:找日志 → 看内容 → 定位问题。下面按实战角度讲。
常见路径:
/var/log/messages # CentOS/RHEL 通用系统日志
/var/log/syslog # Ubuntu/Debian 系统日志
/var/log/auth.log # 登录、SSH、sudo
/var/log/kern.log # 内核日志
/var/log/cron # 定时任务
journalctl
journalctl -xe
很多新系统 syslog 文件可能为空,日志在 journal 里。
tail -f /var/log/syslog
journalctl -f
journalctl --since "2024-01-01 09:00" --until "09:30"
journalctl -u nginx
journalctl -u sshd
grep -i error /var/log/syslog
journalctl -p err
示例(rsyslog):
Jan 10 10:22:31 server1 sshd[1234]: Failed password for root from 1.2.3.4 port 22
含义:
重点看:
grep "Failed password" /var/log/auth.log
或:
journalctl _SYSTEMD_UNIT=ssh.service | grep fail
dmesg | tail
cat /var/log/kern.log
看:
journalctl -u xxx -b
-b 表示本次启动
grep -i "error" /var/log/messages
iostat -x 1
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
journalctl --since today
如果你愿意,可以:
我可以直接帮你逐行分析日志。