在 Ubuntu 中,syslog 通常由 rsyslog 服务实现。下面按常见场景说明如何开启 / 启用 / 配置 syslog。
dpkg -l | grep rsyslog
如果没有安装:
sudo apt update
sudo apt install rsyslog
sudo systemctl start rsyslog
sudo systemctl enable rsyslog
sudo systemctl status rsyslog
看到 active (running) 即表示 syslog 已开启。
默认情况下,Ubuntu 的 syslog 日志位置:
| 日志类型 | 路径 |
|---|---|
| 系统日志 | /var/log/syslog |
| 认证日志 | /var/log/auth.log |
查看实时日志:
tail -f /var/log/syslog
主配置文件:
/etc/rsyslog.conf
模块与规则目录:
/etc/rsyslog.d/
确保以下模块未被注释(默认是开启的):
module(load="imuxsock") # 本地系统日志
module(load="imjournal") # systemd 日志
修改配置后重启:
sudo systemctl restart rsyslog
如果需要接收 远程设备/服务器 的 syslog:
编辑配置:
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
检查端口:
ss -lunp | grep 514
ss -ltnp | grep 514
Ubuntu 现在默认使用 systemd-journald,rsyslog 会从 journald 读取日志。
查看 systemd 日志:
journalctl -f
如果你只想用 journald,不一定要启用 rsyslog。
sudo systemctl status rsyslog
ls -l /var/log/syslog
sudo chmod 640 /var/log/syslog
sudo chown syslog:adm /var/log/syslog
sudo apt install rsyslog
sudo systemctl enable rsyslog
sudo systemctl start rsyslog
tail -f /var/log/syslog
如果你是想:
可以直接告诉我你的具体场景,我可以给你更精确的配置。