在 Ubuntu 上开启 rsyslog 远程日志(Remote Syslog) 通常有两种常见方式:
下面以 rsyslog 为例,分别说明 发送端(客户端) 和 接收端(服务器) 的配置。
sudo apt update
sudo apt install rsyslog
编辑配置文件:
sudo vim /etc/rsyslog.conf
取消以下行的注释(或添加):
module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")
建议生产环境使用 TCP。
sudo ufw allow 514/udp
sudo ufw allow 514/tcp
sudo systemctl restart rsyslog
ss -lntup | grep 514
sudo vim /etc/rsyslog.d/remote.conf
*.* @192.168.1.10:514
*.* @@192.168.1.10:514
说明:
@ = UDP@@ = TCPsudo systemctl restart rsyslog
tail -f /var/log/syslog
logger "test remote syslog message"
$template RemoteLogs,"/var/log/remote/%HOSTNAME%.log"
*.* ?RemoteLogs
& stop
创建目录:
sudo mkdir -p /var/log/remote
sudo chown syslog:adm /var/log/remote
@ 或 @@tcpdump 抓包Ubuntu 默认不启用 SELinux,可忽略。
✅ 使用 TCP + TLS(6514)
✅ 限制来源 IP
✅ 使用日志服务器(ELK / Graylog / Loki)
✅ 不直接暴露 UDP 514 到公网
如果你需要:
可以直接告诉我你的使用场景。