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


10

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

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

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

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

回答:


16

複数のサーバーへの転送

ただし、知っておくべき重要なことは、ディレクティブの完全なセットがアクションを構成することです。そのため、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

これは実際には、さまざまなキューファイルを含め、私が使用した構成とまったく同じです。しかし、それでも機能しません。「server1」をオフにした場合、「server2」に送られるログのみが表示される
Daniele Testa 2013

すみません。ファイアウォールルールが間違っていました:)ファイアウォールの問題を修正した後、元の設定が機能していました。
Daniele Testa 2013

ファイアウォールは毎回それを行います。私はそれについて尋ねるべきでした!:)既存の設定が機能しているかどうかに関係なく、私の努力に対する賛成票はどうですか?このサイトは、投票システムが参加を奨励するときに最適に機能します。機会がありましたらツアーページをご覧ください。
アーロンコプリ2013

1
申し訳ありませんが、賛成するには15名以上の評判が必要です
Daniele Testa
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.