在 Debian 系统中,syslog 分析通常围绕 rsyslog(传统)或 systemd-journald(现代)展开。下面从日志位置、查看方式、常用分析命令、实战示例几个方面系统说明。
| 系统 | 说明 |
|---|---|
| rsyslog | 传统 syslog,日志写入 /var/log/ |
| systemd-journald | systemd 自带日志系统 |
| syslog-ng | 较少见,部分服务器使用 |
Debian 默认通常是 rsyslog + systemd-journald 并存。
常见日志文件:
/var/log/syslog # 主系统日志(最重要)
/var/log/messages # 某些版本存在(非必须)
/var/log/auth.log # 认证、SSH、sudo
/var/log/kern.log # 内核日志
/var/log/daemon.log # 守护进程
/var/log/cron.log # 定时任务
如果
/var/log/syslog不存在,检查是否安装 rsyslog:
dpkg -l | grep rsyslog
tail -f /var/log/syslog
tail -n 100 /var/log/syslog
less /var/log/syslog
journalctl
journalctl -f
journalctl -b
journalctl --list-boots
journalctl -b -1
journalctl -u ssh.service
journalctl -u nginx.service
journalctl _PID=1234
journalctl --since "2025-01-01 08:00" --until "2025-01-01 10:00"
journalctl --since "1 hour ago"
grep -i error /var/log/syslog
grep -i fail /var/log/syslog
grep -i sshd /var/log/auth.log
grep -c "error" /var/log/syslog
grep "192.168.1.100" /var/log/auth.log
Jan 20 10:32:01 debian sshd[1234]: Failed password for root from 1.2.3.4 port 22 ssh2
| 字段 | 含义 |
|---|---|
| Jan 20 10:32:01 | 时间 |
| debian | 主机名 |
| sshd | 服务 |
| 1234 | PID |
| Failed password | 事件 |
grep "Failed password" /var/log/auth.log
journalctl -b -1
journalctl -u nginx.service --no-pager | tail -n 50
dmesg | grep -i error
Debian 使用 logrotate:
/etc/logrotate.d/rsyslog
手动测试:
logrotate -vf /etc/logrotate.conf
✅ 先 journalctl -b 看本次启动
✅ 再查 /var/log/syslog
✅ 用 grep + 时间 + 服务名 缩小范围
✅ 关键错误:error / fail / denied / oom / segfault
如果你愿意,可以把具体日志片段贴出来,我可以帮你快速定位问题(如 SSH、网络、服务崩溃、OOM 等)。