我在 Ubuntu 14.0.1 上有一个 rsyslogd:
$ModLoad imtcp
$InputTCPServerRun 514
$template FILENAME,"/var/log/%fromhost%/syslog.log"
*.* ?FILENAME
如果如果运行
logger -p local0.crit -n 10.240.157.116 -u /dev/null test
在远程机器上,我可以使用 tcpdump 在 rsyslogd-server 上看到 syslog 数据包:
15:43:43.586827 IP 10.240.180.245.37261 > 10.240.157.116.514: SYSLOG local0.critical, length: 33
但是,不会在远程主机的 rsyslogd-server 上写入任何日志。本地日志按预期写入 /var/log/rsyslogd-server-hostname/bla
根据记录器的手册页,“-n”将发送一个 UDP 数据包,这就是您在 tcpdump 中看到的内容(只有一个数据包,而不是 TCP 握手等)。
您的 rsyslogd 配置只需要 TCP (InputTCPServerRun) 上的输入。
你可能想要: