我有 DMZ 主机转发到 DMZ 系统日志,而后者又将所有系统日志消息转发到内部系统日志服务器。它大部分工作正常,但内部系统日志主机消息似乎全部来自 DMZ 系统日志,即它丢失了原始主机名。
{主机} -> {DMZ syslog:openbsd:syslog v 1.17} -> {内部 Syslog:rsyslog v3}
我如何保留主机名?
谢谢!
答案1
我个人建议使用 syslog-ng 作为内部服务器 - 它提供的功能比 rsyslog 多得多。特别值得一提的是,它为主机名的管理/重写/等提供了更好的处理。
如果您决定继续使用 rsyslog,此配置会保留远程和本地主机名 - 这是我在切换到 syslog-ng 之前所使用的。
$ModLoad imuxsock.so
$ModLoad imklog.so
$ModLoad imudp.so
$UDPServerRun 514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg *
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
如果重要的话,我也在我的初始化脚本中使用了“-c 4”选项。
答案2
配置 /etc/rsyslog.conf 以保留 FQDN:$PreserveFQDN on
答案3
将 syslog 消息传送到 netcat 将添加主机名。
一种简单的方法是使用 syslog.conf 文件中的 netcat (nc) 来传输消息,如下所示:
。“TAB” | nc RemoteLogServer -u 514 -w 1”
必须在管道符号前插入 TAB 字符。