我使用omfwd操作从服务器A转发日志。 该操作具有以下模板集:
template(name="toRemoteFormat" type="list") { property(name="timestamp" dateFormat="rfc3339") constant(value=" ") property(name="$.service") constant(value=" ") property(name="syslogtag" position.from="1" position.to="32") property(name="msg" spifno1stsp="on" ) property(name="msg") constant(value="\n") }
在接收服务器B (实际的系统日志服务器)上,使用omfile操作将日志事件写入文件。 该操作具有以下模板集:
template(name="defaultMsg" type="list") { property(name="timestamp" dateFormat="rfc3339") constant(value=" ") property(name="hostname") constant(value=" ") property(name="syslogtag" position.from="1" position.to="32") property(name="msg" spifno1stsp="on" ) property(name="msg") constant(value="\n") }
我无法理解这些模板如何组合。 我假设使用toRemoteFormat模板格式化离开服务器A的日志事件。 但是,我可以清楚地看到写在服务器B上的日志是用defaultMsg模板格式化的。
服务器A上模板的作用是什么? 正如你所看到的,这些格式之间的区别在于服务器A为日志事件添加了一个$.servicevariables,并且我需要服务器A上的模板来应用。 但是,服务器B没有可用的$.servicevariables,所以我不能在那里使用该模板。