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
}

問題は正規表現です。何が正しいか?

ありがとうございます!

ベストアンサー1

おすすめ記事