Ubuntu syslog远程传输主要有以下两种常用方法:
sudo apt update && sudo apt install rsyslog
/etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf,添加:
*.* @remote_server_ip:514*.* @@remote_server_ip:514remote_server_ip 替换为远程服务器IP)/etc/rsyslog.conf 中添加(允许接收所有IP日志,默认已开启):$ModLoad imudp
$UDPServerRun 514
# 或TCP
$ModLoad imtcp
$InputTCPServerRun 514
sudo systemctl restart rsyslog
logger "测试日志" 生成日志,接收端通过 tail -f /var/log/syslog 查看是否接收。sudo apt update && sudo apt install syslog-ng
/etc/syslog-ng/syslog-ng.conf,添加:destination d_remote { udp("remote_server_ip" port(514)); };
log { source(s_src); destination(d_remote); };
(TCP协议将 udp 替换为 tcp)/etc/syslog-ng/syslog-ng.conf 中添加:source s_network { udp(ip(0.0.0.0) port(514)); tcp(ip(0.0.0.0) port(514)); };
destination d_local { file("/var/log/remote.log"); };
log { source(s_network); destination(d_local); };
sudo systemctl restart syslog-ng
sudo ufw allow 514/udp 或 514/tcp)。以上配置可快速实现Ubuntu syslog的远程传输,优先使用rsyslog(系统默认,配置简单)。