在 Debian 系统中,日志功能通常由 systemd-journald、rsyslog(或 syslog-ng)等组件管理。下面按常见场景说明如何开启/配置日志。
大多数 Debian(尤其是 systemd 系统)默认已启用:
systemctl status systemd-journald
✅ 如果看到 active (running),说明已开启。
查看日志:
journalctl
Debian 通常也默认安装并启用 rsyslog。
检查状态:
systemctl status rsyslog
如果未运行:
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
sudo apt update
sudo apt install rsyslog
sudo nano /etc/rsyslog.conf
常见配置项:
# 启用 UDP 接收(可选)
# module(load="imudp")
# input(type="imudp" port="514")
# 启用 TCP 接收(可选)
# module(load="imtcp")
# input(type="imtcp" port="514")
在 /etc/rsyslog.d/ 下新建配置:
sudo nano /etc/rsyslog.d/10-mylog.conf
示例(记录所有日志到自定义文件):
*.* /var/log/mylog.log
重启 rsyslog:
sudo systemctl restart rsyslog
默认 journal 日志可能只存在内存中,重启后消失。
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
journalctl --disk-usage
✅ 显示磁盘使用量说明已持久化。
/var/log/syslog # 系统日志(rsyslog)
/var/log/messages # 某些情况
/var/log/auth.log # 认证相关
/var/log/kern.log # 内核日志
查看:
tail -f /var/log/syslog
内核日志:
dmesg
实时查看:
dmesg -w
sudo journalctl --vacuum-time=7d
| 需求 | 操作 |
|---|---|
| 查看系统日志 | journalctl 或 /var/log/syslog |
| 开启 rsyslog | systemctl enable --now rsyslog |
| 开启持久化 journal | 创建 /var/log/journal |
| 自定义日志规则 | /etc/rsyslog.d/*.conf |
如果你有具体需求(如:开启 SSH 登录日志、开启某个服务的日志、远程日志服务器、Docker 日志等),可以告诉我,我可以给你更精确的配置示例。