UDP / 514を介してクライアントから情報を受信し、ルールセットを使用してホスト名/ IPを名前としてファイルに書き込むようにログサーバーを設定しました。他のサーバーに同じ構成があり、時には機能しないため、動作させるには前後に移動する必要があります。文書を読みましたが、意味のあるものはあまり見つかりません。
rsyslog v8.2を使用するRHEL 9では、入力行はデフォルトの場所であるリモート追加にあります。
`入力(タイプ="imudp"ポート="514"ルールセット="リモート")
&停止`
これはリモートでは機能しますが、ローカルロギングは停止します。つまり、/var/log/messagesに何も表示されない場合、またはlocalhostから送信する必要がある他のコンテンツがある場合、リモートは期待どおりに「リモート」指定された場所に移動します。
しかし、最近の試みでは、次のような結果が得られました。
`入力(タイプ="imudp"ポート="514")
:入力名、isequal、"imudp" ?DynFile;TraditionalFormatWithPRI
&停止`
これは期待どおりに機能し、UDP / 514から受信したログは適切なファイルに送信され、通常のローカルロギングは引き続き機能します。地元の伐採を最初に食べたのはなぜですか?私は何を見逃していますか?
答え1
ローカルプログラムは通常、/dev/log
UDPを使用する代わりにロギングを実行します。
Rsyslog は以下を使用してこれらのメッセージを受信できますが、imuxsock
入力モジュールは/dev/log
次のように表示されます。journald
だからあなたは必要ですimjournal
基準寸法。
RHEL 9の一般的なrsyslog構成には、次のものが含まれます.
module(load="imuxsock" # provides support for local system logging (e.g. via logger command)
SysSock.Use="off") # Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
module(load="imjournal" # provides access to the systemd journal
UsePid="system" # PID nummber is retrieved as the ID of the process the journal entry originates from
StateFile="imjournal.state") # File to store the position in the journal