解决方案是使用自定义 rsyslog 模板。首先,您创建日志消息模板。以下模板类似于默认的系统日志格式,但添加了%fromhost-ip%
您可以以相同方式添加其他变量的内容
$template tplremote,"%timegenerated% %HOSTNAME% %fromhost-ip% %syslogtag%%msg:::drop-last-lf%\n"
Run Code Online (Sandbox Code Playgroud)
然后我们创建文件名模板:
$template RemoteHost,"/var/log/remote/%HOSTNAME%.log"
Run Code Online (Sandbox Code Playgroud)
最后,我们告诉 rsyslog 使用创建的模板:
if ($hostname != 'localhost') then ?RemoteHost;tplremote
& ~
Run Code Online (Sandbox Code Playgroud)
请注意,最后一行必须添加到包含的行之前。
*.info;mail.none;authpriv.none;cron.none
Run Code Online (Sandbox Code Playgroud)
另请注意,这已在 redhat 上的 epel repo 的新 rsyslog 中进行了测试和工作(rsyslog-7.6.7-1.el6.x86_64
)。其他发行版中的行为可能有所不同。
归档时间: |
|
查看次数: |
16832 次 |
最近记录: |