在 Debian 系统中,日志分析是排查系统问题、服务异常、安全事件的重要手段。下面从日志位置、常用工具、分析方法、实战示例几个方面系统讲解。
Debian 默认使用 rsyslog 或 syslog 记录系统日志,主要位于:
| 日志文件 | 说明 |
|---|---|
/var/log/syslog |
系统核心日志(最常用) |
/var/log/messages |
部分系统消息 |
/var/log/auth.log |
认证 / SSH / sudo 日志 |
/var/log/kern.log |
内核日志 |
/var/log/dpkg.log |
软件包安装 / 卸载 |
/var/log/apt/ |
apt 操作日志 |
/var/log/cron.log |
定时任务日志 |
如果某些日志不存在,可能是 rsyslog 未启用或配置不同。
Debian 10+ 基本都使用 systemd,日志由 journald 管理。
journalctl
journalctl --since "2025-01-01 08:00" --until "2025-01-01 10:00"
journalctl -u nginx
journalctl -u ssh
journalctl -f
journalctl -b
less /var/log/syslog
tail -f /var/log/syslog
grep -i error /var/log/syslog
grep -i fail /var/log/auth.log
grep sshd /var/log/auth.log | wc -l
grep "Failed password" /var/log/auth.log
查看来源 IP:
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr
grep sudo /var/log/auth.log
journalctl -p err -b
systemctl status nginx
journalctl -u nginx --no-pager
dmesg | grep -i error
journalctl -k | grep -i error
Debian 自动轮转日志,防止磁盘占满。
查看配置:
cat /etc/logrotate.conf
ls /etc/logrotate.d/
常见行为:
grepawksedlesstail -f| 工具 | 用途 |
|---|---|
lnav |
交互式日志查看 |
multitail |
多日志同时查看 |
goaccess |
Web 访问日志分析 |
rsyslog |
日志转发 |
ELK |
大规模日志分析 |
安装示例:
apt install lnav
# 查看系统整体错误
journalctl -p err -b
# 查看网络服务
systemctl status networking
# 查看 SSH
journalctl -u ssh
# 查看内核
dmesg | tail
✅ 查日志顺序:
journalctl -p err/var/log/syslogdmesg✅ 生产环境建议:
如果你愿意,我可以:
直接把日志贴出来即可。