我正在尝试转发 rsyslog,;RSYSLOG_SyslogProtocol23Format
对于所有日志转发来说,它工作正常:*.* @@syslogserver.com:6789;RSYSLOG_SyslogProtocol23Format
但有人知道它如何在具体规则上实现吗?
if ($msg contains_i and so on)<br>
action(type="omfwd" target="syslogserver.com" port="6789" protocol="tcp"
action.resumeRetryCount="-1"
干杯!
答案1
我不确定你的意思规则,我假设你的意思是条件语句或者过滤器。
一个简单的 if 语句可以像这样完成:
if $msg contains 'test' then
action(type="omfwd" template="RSYSLOG_SyslogProtocol23Format" ...)
... 也可以链接:
if $programname == 'my_program' and $msg contains 'test' then
action(type="omfwd" template="RSYSLOG_SyslogProtocol23Format" ...)
...或者用一组语句来完成:
if $programname == 'my_program' then {
action(type="omfwd" ...)
if $msg contains 'test' then
action(type="omfwd" template="RSYSLOG_SyslogProtocol23Format" ...)
else
action(type="omfwd" ...)
}