小编Ani*_*Ani的帖子

基于 rsyslog 表达式的过滤器 - 'startswith' 不起作用

sshd我正在尝试将一些类似的日志过滤到一个单独的文件中:

 sshd[14913]: Did not receive identification string from 10.16.0.2
Run Code Online (Sandbox Code Playgroud)

我尝试了以下方法,并且有效:

if $programname == 'sshd' and
   $syslogfacility-text == 'security' and
   $syslogseverity == '6' then -/var/log/sshinfo.log
& stop
Run Code Online (Sandbox Code Playgroud)

但这也匹配用户登录/注销,所以我尝试添加消息匹配过滤器:

if $programname == 'sshd' and
   $msg startswith 'Did not'  and    # <---
   $syslogseverity == '6' then -/var/log/sshinfo.log
& stop
Run Code Online (Sandbox Code Playgroud)

这不起作用!(虽然contains有效)

坏了startswith,还是这个用法不正确?

版本:

# rsyslogd -v
rsyslogd 7.4.4, compiled with:
    FEATURE_REGEXP:             Yes
    FEATURE_LARGEFILE:          No
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    32bit Atomic …
Run Code Online (Sandbox Code Playgroud)

ubuntu ssh rsyslog

1
推荐指数
1
解决办法
3869
查看次数

标签 统计

rsyslog ×1

ssh ×1

ubuntu ×1