このrsyslog confファイルが再帰を引き起こさないのはなぜですか?

このrsyslog confファイルが再帰を引き起こさないのはなぜですか?

rsyslog私はマニュアルページ、オンライン読書、実験を通して学びました。次が無限再帰を引き起こさない理由を理解したいと思います。

第1ターミナルから出発:

$ cat /etc/rsyslog.d/dummy.conf 
# dummy.conf
local7.*                                  @127.0.0.1
&                                         |/tmp/foopipe

$ sudo systemctl restart rsyslog

$ cat < /tmp/foopipe

第2ターミナルから出発:

$ logger -p local7.info "Test 111"

上記の操作を行った後、ターミナル1に「」というテキストが表示されましたが、1行だけが表示され2018-07-16T18:09:50.866760-07:00 localhost user: Test 111ました。つまり、複数のコピーも無限の洪水でもありません。

私はまだ設定ファイルについてよく理解していないrsyslogので、最も基本的な理解に基づいてコンテンツをリンクしています。私は私のファイルが私のsyslogを名前付きパイプに送り、syslogを127.0.0.1に渡すようにdummy.conf指示すると思いました。rsysloglocal.info

後者が発生すると仮定すると、次に何が起こるのかはわかりませんが、待機しているrsyslogUDP / TCPソケットからsyslogを受信し、ルールを再適用してrsyslogにsyslogを送信するように指示することを想像してください。パイプだけでなく127.0.0.1を渡します...だから無限再帰です。local.infodummy.conf

私は何を逃したことがありませんか?それとも、rsyslogこのタイプの無限再帰を防ぐためにインテリジェントが組み込まれていますか?

答え1

遭遇したと言います。このオプション:

$RepeatedMsgReduction on

この機能を有効にした可能性があります。

引用する

関連情報