複数のインスタンスを実行したいrsyslogd
(他のネットワークネームスペース[])。読み取りからプロセスが読み取ると、ソケットが使い果たされ、他のインスタンスには読み込まれません!作成する方法はありますか(例:netns
rsyslogd
/dev/log
所有者)インスタンスrsyslogd
は
syslog
メッセージを別のローカル(奴隷)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:2514
)local0
PS:あなたがやっていることは少し変です。人々はしばしばロギングを集中化したいと考えています。これを行う理由によっては、実際には他の出力モジュールの1つが必要になる場合があります。たとえば、異なる名前空間内のすべてのプログラムが接続して照会できるSQLデータベースにログを送信できます。
PPS:これを処理する別の方法があります。 rsyslog が読み書きするソケットは完全に設定可能です。持つ彼らはウェブサイトにかなり広範な文書を持っています。、そしておそらく/usr/share/doc
あなたのシステムにもあります。