使用syslog-ng远程logging多个Apache虚拟主机

我正在运行一些Apache Web服务器,每个服务器上都有4-8个独立的虚拟主机。 我试图设置专用的日志服务器,将每个虚拟主机访问和错误日​​志存储在该虚拟主机的单独目录中。

例如在日志服务器上,
/var/log/remove/10.0.0.2/virtualhost1包含access_log和error_log
/var/log/remove/10.0.0.2/virtualhost2包含access_log和error_log /var/log/remove/10.0.0.3/virtualhost3包含access_log和error_log
等等…

现在,我已经分裂了主机,但我不知道如何做到另外通过虚拟主机。 以下是日志logging服务器的syslog-ng.conf中的相关行

源r_src {tcp(ip(“0.0.0.0”)port(5140)); };
目的地r_all {文件(“/ opt / splunk / logs / $ HOST”); };
log {source(r_src); 目的地(r_all); };

任何帮助,将不胜感激。 谢谢!

我认为这应该回答你的问题:

总结:syslog-ng可以从日志消息中提取字段,然后可以在模板replace中使用这些字段。 只要您在Apache日志中logging虚拟主机名称(%v),您应该拥有所有需要的信息。