在 Debian 系统中,syslog 的配置主要涉及 rsyslog(Debian 默认使用的 syslog 实现)。下面从安装、配置文件、常见配置示例、重启服务、常见问题几个方面说明。
dpkg -l | grep rsyslog
sudo apt update
sudo apt install rsyslog
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
Debian 下 rsyslog 的主要配置路径:
| 文件 / 目录 | 说明 |
|---|---|
/etc/rsyslog.conf |
主配置文件 |
/etc/rsyslog.d/*.conf |
自定义配置(推荐) |
/var/log/ |
日志存放目录 |
# 模块加载
module(load="imuxsock") # 本地系统日志
module(load="imjournal") # systemd 日志(可选)
# 全局配置
global(workDirectory="/var/spool/rsyslog")
# 规则引用
$IncludeConfig /etc/rsyslog.d/*.conf
facility.priority /var/log/xxx.log
auth, authpriv, cron, daemon, kern, lpr, mail,
news, syslog, user, uucp, local0 ~ local7
debug < info < notice < warning < err < crit < alert < emerg
示例含义:
*.info /var/log/messages
所有 facility 的 info 及以上级别日志
# /etc/rsyslog.d/custom.conf
*.* /var/log/all.log
*.err /var/log/error.log
cron.* /var/log/cron.log
mail.* ~
编辑:
sudo nano /etc/rsyslog.conf
取消注释:
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
重启:
sudo systemctl restart rsyslog
# /etc/rsyslog.d/remote.conf
*.* @@192.168.1.10:514
@:UDP@@:TCPtail -f /var/log/syslog
sudo systemctl restart rsyslog
sudo systemctl status rsyslog
/var/log/messagesDebian 默认只使用:
/var/log/syslog
可以手动添加:
*.info /var/log/messages
检查:
sudo systemctl status rsyslog
ls -l /var/log/
确认磁盘空间:
df -h
rsyslog 和 journald 可共存,但推荐:
sudo journalctl -xe
/var/log 目录权限如果你愿意,我可以帮你:
告诉我你的 Debian 版本和使用场景即可。