我想使用 syslog-ng 创建集中式日志记录。我必须覆盖具有 1-2 个公共 IP 的多个办公室和多个“在云中”运行的其他服务器/设备。
仅对于云服务器,一切正常,但是当我想从办公室中的不同设备收集日志时,我会丢失设备的主机名/源 IP 信息。我只得到了外部公共IP。
syslog-ng 版本是 3.5.3,它在 Ubuntu 14.04 机器上运行(在具有公共 IP 地址的云中)。
我额外的非默认配置文件如下/etc/syslog-ng/conf.d/logserver.conf:
source s_network_udp { syslog(ip(<syslog_server_public_ip>) transport("udp") keep-hostname(yes)); };
source s_network_tcp { tcp(ip(<syslog_server_public_ip>) port(514) keep-hostname(yes)); };
destination d_netlog { file("/var/log/remote/${HOST}.log"); };
log { source(s_network_udp); destination(d_netlog);};
log { source(s_network_tcp); destination(d_netlog);};
每个公共服务器都有自己的 $hostname.log 文件,但对于办公设备,我只有 1 个大的 public_ip_of_office.log文件。
syslog-ng.conf 文件具有默认配置。我不确定 NAT-ing 是否会导致问题。我不使用任何中继功能,我只有 1 个 syslog-ng 服务器。
任何帮助都会很棒。