rsyslog 使用 ;RSYSLOG_SyslogProtocol23Format 转发

rsyslog 使用 ;RSYSLOG_SyslogProtocol23Format 转发

我正在尝试转发 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" ...)
}

相关内容