我正在尝试将登录用户拆分到他自己的日志文件中。
要匹配的日志文本是这样的:<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
}
问题是正则表达式。什么才是正确的呢?
谢谢!