web-dev-qa-db-ja.com

すべてのログを複数のリモートサーバーに送信するようにrsyslogを設定するにはどうすればよいですか?

すべてのログを2つのリモートサーバーに送信するようにrsyslogを作成しようとしていますが、最初のサーバーに障害が発生した場合、rsyslogはセカンダリサーバーにしか送信しないようです。

*.* @@server1
*.* @@server2

上記を/etc/rsyslog.confに置くと、server1が起動している限り、server2はログを受信しません。どうしてもrsyslogに両方のサーバーに送信するように指示するにはどうすればよいですか?

また、追加のボーナスとして、リモートサーバーがダウンした場合のローカル保存に、2つの異なるローカル「バッファ」ファイルを使用したいと思います。

10
Daniele Testa

From 複数のサーバーへの転送 ;

ただし、知っておくべき重要なことは、ディレクティブの完全なセットがアクションを構成することです。したがって、2番目の転送ルールを(単に)追加するだけではなく、ルール構成も複製する必要があります。 2番目のアクションには異なるキューファイル名を使用するように注意してください。そうしないと、システムが台無しになります。

したがって、実際には、2つの異なるローカルキューを使用する必要があります

作業ディレクトリを構成します。

$WorkDirectory /var/spool/rsyslog

転送ルールを構成します。

$ActionQueueType LinkedList
$ActionQueueFileName Forward1
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server1

$ActionQueueType LinkedList
$ActionQueueFileName Forward2
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server2
16
Aaron Copley