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
指示すると思いました。rsyslog
local.info
後者が発生すると仮定すると、次に何が起こるのかはわかりませんが、待機しているrsyslog
UDP / TCPソケットからsyslogを受信し、ルールを再適用してrsyslogにsyslogを送信するように指示することを想像してください。パイプだけでなく127.0.0.1を渡します...だから無限再帰です。local.info
dummy.conf
私は何を逃したことがありませんか?それとも、rsyslog
このタイプの無限再帰を防ぐためにインテリジェントが組み込まれていますか?