Answers:
这对我有用:
## For accepting syslog info from remote hosts
$template TempAuth, "/var/log/infosys/%HOSTNAME%/%PROGRAMNAME%.log"
$template TempMsg, "/var/log/infosys/%HOSTNAME%/%PROGRAMNAME%.log"
if ($fromhost-ip != "127.0.0.1" ) then ?TempAuth
& ~
if ($fromhost-ip != "127.0.0.1" ) then ?TempMsg
& ~
TempAuth
和之间为什么有重复TempMsg
?
我已经为此做了很多工作,我想我已经找到了解决方案。我鼓励其他人尝试这样做,并寻找可能的不利后果。我建议首先在实验室/测试和非关键机器上实施。
$template PerHostLog,"/var/log/net-hosts/%fromhost-ip%/%fromhost-ip%.log"
$template RemoteHostFileFormat,"%TIMESTAMP% %fromhost-ip% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n”
:inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat
:fromhost-ip , !isequal , "127.0.0.1" stop
以上4行在我的/etc/rsyslog.conf文件的最顶部
我目前正在观看2个日志文件:
/var/log/net-hosts/10.1.1.1
和/ var / log / syslog
,同时观看两者,我看到日志已填充到远程主机文件中,但不在syslog中。我重新启动了apache,并在syslog中看到了此任务的日志条目。
您必须确保先评估新规则,然后再记录到/ var / log / syslog。
例如,在Ubuntu Trusty(rsyslog 7.4.4)上/etc/rsyslog.conf包含,
$IncludeConfig /etc/rsyslog.d/*.conf
因此默认规则是从加载的/etc/rsyslog.d/50-default.conf
,其中包括/ var / log / syslog 的默认规则。
在这种情况下,您可以在该文件之前添加一个要加载的新文件,例如00-remote.conf
。为了完整起见,以下是我正在管理的系统的内容:
$template RemoteStore, "/var/log/remote/%HOSTNAME%/%timegenerated:1:10:date-rfc3339%"
:source,isequal,"NAS",-?RemoteStore
& ~
/var/log/syslog