以下の提案に基づいています。回答もちろん:2つのサーバーを追加し、常に両方のサーバーに書き込むのが最も簡単な方法です。、
私たちは設定しましたシステムログ-NGサーバーが起動します2台の機械同じsyslogメッセージが両方のall_devices.log
システム(RHEL 7.x)で受信され保存されます。
両方のコンピュータの構成は次のとおりです。
@version: 3.17
source s_network {
udp(
flags(syslog_protocol)
keep_hostname(yes)
keep_timestamp(yes)
use_dns(no)
use_fqdn(no)
);
};
destination d_all_logs {
file("/app/syslog-ng/custom/output/all_devices.log");
};
log {
source(s_network);
destination(d_all_logs);
};
さらに一歩進んで、以下のようにフィルタリング規則に基づいて特定の消費者にsyslogメッセージを配信したいと思います。
log { source(s_network); filter(f_warn); destination(remote_log_server); };
ただし、remote_log_server
同じメッセージを転送する2つのsyslogサーバーなので、各メッセージに対して2つのメッセージを受け取ります。
Syslog-NG設定では、2つのメッセージの重複排除を1つのsyslogメッセージとして受け入れますか?
答え1
Syslog-ngはこれをサポートしていません。両方のサーバーを介して3番目のサーバーに同時に転送し、そこで重複排除を実行する必要がある場合は、重複排除を実行するために別のソフトウェアまたは追加のソフトウェアを使用する必要があります。
この場合、リンクされた回答の3番目のオプションを考えてみましょう。 haproxyを使用して、syslogメッセージを一度に2つの冗長サーバーのうちの1つに転送するだけです。