LinuxのrsyslogはRFC 5424をサポートしていますか?

LinuxのrsyslogはRFC 5424をサポートしていますか?

何らかの理由で、システムログ有効なメッセージを正しく解釈できないようですRFC 5424。 RFCによって提供された例も機能しません。

$ echo "<165>1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% It's time to make the do-nuts." | nc -w1 -Uu /dev/log

ログ行の結果:

Dec  1 16:39:08 host 1 2003-08-24T05:14:15.000003-07:00 192.0.2.1 myproc 8710 - - %% It's time to make the do-nuts.

これは、メッセージがRFC 5424メッセージとして正しく解釈されず、代わりに文字列全体がメッセージペイロードとして扱われることを示します。

一方、以前のRFC 3164形式は問題なく受け入れられます。

$ echo "<165>Dec  1 05:14:15 myproc[8710]: %% It's time to make the do-nuts."| nc -w1 -Uu /dev/log

結果は正しいログ行です。

Dec  1 16:44:31 host myproc[8710]: %% It's time to make the do-nuts.

インターネットを横断してもサポートが不足しているという言及は見つかりません。システムログ横。私は何が間違っていましたか?

私はLinux Mint 20を使用しています。システムログバージョンは8.2001.0 (aka 2020.01)

だからか?システムつまり、メッセージの内容が到着する前に何らかの方法で修正します。システムログ

ベストアンサー1

同じ問題があり、最終的にこれをrsyslog.confに追加して解決策を見つけました。

input(type="imuxsock" socket="/dev/log" useSpecialParser="off")

useSpecialParserパラメーターは、imuxsock入力モジュールにRFC5424形式を解析できない特殊なパーサーの代わりに、メッセージに汎用パーサーを使用するように指示します。参照。https://rsyslog-doc.readthedocs.io/en/latest/configuration/modules/imuxsock.html

RFC5424 は、udp や tcp などの他の入力モジュールに対して常に正しく解析します。

おすすめ記事