了解rsyslog日志格式和过滤

了解rsyslog日志格式和过滤

我正在努力从系统日志中过滤日志并转发到另一个日志。

我也可以根据“捕获/过滤日志”内部 sftp“。 通过使用

if $programname == 'internal-sftp' then /var/log/sftp/sftp.log

上面正在工作。

但我无法根据此进行过滤“统计名称”。我试过pri、syslogtag等,下面是日志格式。

Apr 24 02:16:30 ip-10-0-10-22 internal-sftp[4714]: lstat name "/settlement/universalpay/test_deletez.log"

那么,我如何过滤包含的行统计名称根据条件。我应该使用哪些属性。

下面是我正在尝试的示例代码。

if $programname == 'internal-sftp' then {
        if $syslogfacility-text contains 'lstat name' then {
                action(type="omfile" file="/var/log/sftp/sftp_lstat_files.log" template="outfmt")
        }
        action(type="omfile" file="/var/log/sftp/sftp.log" template="outfmt")
        & stop 
}

答案1

巴拉,

请您检查如下

if $msg startswith ' lstat name' then { ....

确保“lstat name”前面有如上所示的空间

相关内容