/dev/logから複数のrsyslogレシーバにデータをコピーする方法

/dev/logから複数のrsyslogレシーバにデータをコピーする方法

複数のインスタンスを実行したいrsyslogd(他のネットワークネームスペース[])。読み取りからプロセスが読み取ると、ソケットが使い果たされ、他のインスタンスには読み込まれません!作成する方法はありますか(例:netnsrsyslogd/dev/log所有者)インスタンスrsyslogdsyslogメッセージを別のローカル(奴隷rsyslogdはい?他の方法でこれを達成できる場合は、アドバイスや提案を歓迎します。rsyslogd基本的にLinuxをサポートしていないので、netns他の名前空間にsyslogメッセージを送信する唯一の方法はrsyslogd

ベストアンサー1

rsyslogのマルチ出力モジュールを使用してこれを実行できる必要があります。たとえば、(恥ずかしく盗まれてわずかに修正されたrsyslog.conf(5))マスターの場合:

*.*  :omrelp:192.168.0.2:2514
*.*  :omrelp:192.168.0.3:2514
*.*  :omrelp:192.168.0.4:2514

マスターサーバーがすべてのsyslogエントリをこれら3つのIPアドレスで実行されているrsyslogに送信するには、次の設定が必要です。

 $ModLoad imrelp
 $InputRELPServerRun 2514

(これは*.*一般的なログセレクタなので、転送されるメッセージを制限できます。たとえば、デバイスに送信されるログのみを転送します。local0.* :omrelp:192.168.0.4:2514local0

PS:あなたがやっていることは少し変です。人々はしばしばロギングを集中化したいと考えています。これを行う理由によっては、実際には他の出力モジュールの1つが必要になる場合があります。たとえば、異なる名前空間内のすべてのプログラムが接続して照会できるSQLデータベースにログを送信できます。

PPS:これを処理する別の方法があります。 rsyslog が読み書きするソケットは完全に設定可能です。持つ彼らはウェブサイトにかなり広範な文書を持っています。、そしておそらく/usr/share/docあなたのシステムにもあります。

おすすめ記事