在 Debian 系统中,syslog 是用于记录系统及各类服务运行日志的核心机制。解读 syslog 的关键在于:知道日志在哪、格式是什么、怎么筛选、如何定位问题。
下面从基础到实战逐步说明。
Debian 常见两种日志系统:
日志通常位于:
/var/log/syslog # 综合系统日志
/var/log/messages # 部分系统消息(有的版本没有)
/var/log/auth.log # 认证、登录、sudo 等
/var/log/kern.log # 内核日志
/var/log/dpkg.log # 软件安装/卸载
journalctl # 查看全部日志
journalctl -xe # 查看最近错误并附带解释
现代 Debian 默认 rsyslog + systemd-journald 并存
以 /var/log/syslog 为例:
Jun 25 10:32:01 debian sshd[1234]: Failed password for root from 192.168.1.10 port 22 ssh2
逐段解释:
| 部分 | 含义 |
|---|---|
Jun 25 10:32:01 |
时间(月 日 时:分:秒) |
debian |
主机名 |
sshd[1234] |
服务名[进程PID] |
Failed password ... |
日志内容 |
systemd[1]: Started Session 5 of user root.
表示某个服务或会话启动
sudo: root : TTY=pts/0 ; PWD=/root ; USER=root ; COMMAND=/bin/bash
说明谁、在哪、执行了什么命令
dhclient[888]: DHCPACK from 192.168.1.1
网络获取 IP 成功
kernel: eth0: link up
网卡状态变化
tail -n 100 /var/log/syslog
tail -f /var/log/syslog # 实时查看
grep sshd /var/log/syslog
grep nginx /var/log/syslog
grep -i error /var/log/syslog
grep -i fail /var/log/auth.log
journalctl -u nginx.service
journalctl --since "2026-06-25 10:00" --until "11:00"
journalctl -p err
Failed password for root from 1.2.3.4 port 5555 ssh2
✅ 有人尝试登录 root
✅ 建议:禁用 root 登录
EXT4-fs error (device sda1): ...
⚠ 磁盘或文件系统异常
✅ 需要 fsck 或检查硬盘
systemd[1]: nginx.service: Failed with result 'exit-code'
✅ 用 journalctl -u nginx 查详细原因
journalctl -xeauth.loglogrotate 防止日志过大如果你愿意,可以把具体的一段 syslog 内容贴出来,我可以帮你逐行解读并判断问题原因。