-1

rsyslog.conf に次の行を追加します。

if $msg contains 'arpwatch'          then          /var/log/test.log

問題は、式 (arpwatch) を含むログの同時行がある場合、最初の行だけがログに記録され、他の行は記録されないことです。

「arpwatch」を含む同時行がある場合、ログに書き込むように式を変更するにはどうすればよいですか?

これらの行が rsyslog に送信される場合:

2012 年 11 月 10 日 09:56:34 エイリアンボールト->/var/log/syslog 11 月 10 日 09:56:34 エイリアンボールト arpwatch_eth0: chdir (/usr/arpwatch): そのようなファイルまたはディレクトリはありません
2012 年 11 月 10 日 09:56:34 エイリアンボールト->/var/log/syslog 11 月 10 日 09:56:34 エイリアンボールト arpwatch_eth0: (現在の作業ディレクトリを使用)
2012 年 11 月 10 日 09:56:34 エイリアンボールト->/var/log/syslog 11 月 10 日 09:56:34 エイリアンボールト arpwatch_eth0: pcap オープン eth0: eth0: そのようなデバイスは存在しません (SIOCGIFHWADDR: そのようなデバイスはありません)

次に、/var/log/test.log次の行があります。

2012 年 11 月 10 日 09:56:34 エイリアンボールト->/var/log/syslog 11 月 10 日 09:56:34 エイリアンボールト arpwatch_eth0: chdir (/usr/arpwatch): そのようなファイルまたはディレクターはありません

その他は無視されます

4

2 に答える 2

0
$template usermsg,"%TIMESTAMP% %HOSTNAME% %programname% %syslogfacility-text%.%syslogseverity-text% :%msg:::sp-if-no-1st-sp%%msg::drop-last-lf%\n"
$ActionFileDefaultTemplate usermsg

if $programname == 'arpwatch' and $msg contains 'arpwatch' then /var/log/test.log
于 2013-08-06T08:01:27.743 に答える
0

rsyslog の msg プロパティでパターンを確認しますが、arpwatch実際にはログに記録されたメッセージにのみ含まれています...これarpwatch_eth0は msg の一部ではありません

于 2012-11-11T20:40:24.790 に答える