ログインしたユーザーを自分のログファイルに分割しようとしています。
一致させるログテキストは次のとおりです。<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
}
問題は正規表現です。何が正しいか?
ありがとうございます!