rsyslog 模板正则表达式

rsyslog 模板正则表达式

我正在尝试将登录用户拆分到他自己的日志文件中。

要匹配的日志文本是这样的:<user name> (<IP>): logged in

例如:370 (10.5.21.57): logged in

请注意,用户名可以是任意名称,而不仅仅是数字

我会尝试这个模板:

$Template hs_file,"/var/log/hs/%msg:R,ERE,1,DFLT:([0-9A-Za-z ]+) \\([0-9.]+\\): logged in--end%"

正则表达式匹配良好使用https://regex101.com/ 但我不能让它工作,实际上 rsyslog 也不能https://www.rsyslog.com/regex/,所有日志都转到不匹配文件。

这是过滤器:

if $msg contains ' logged in' then {
  action(type="omfile"
  dynaFile="hs_file")
  stop
}

问题是正则表达式。什么才是正确的呢?

谢谢!

相关内容