0

現在、logback-logstash-encoderを使用してログを 2 つの異なる logstash インスタンスに書き込もうとしています。これらのインスタンスは両方とも、同じ Elasticsearch インスタンスに書き込みます。

2 つの logstash インスタンス間で負荷を分散する方法を見つけるのに苦労しています。

logback のドキュメントと log4j2 のドキュメントの両方を読んだ後、logback-logstash が使用する TcpAppender が「負荷分散された」URL (つまり、url1、url2) をサポートしていないことは明らかです。log4j2 では、FailoverAppender を使用してこの動作を近似できます。

logback に同様の機能はありますか? または、ログバックの負荷分散のために別のサービスを立ち上げる必要がありますか?

4

1 に答える 1

0

私の知る限り、 内でのロード バランシングはサポートされていませんTcpAppenders。ただし、logstash ボックスの前にハードウェア/ソフトウェア ロード バランサーを追加することで、負荷分散を実現できます。logstash プロセス/ボックスが停止した場合、TCP 接続がリセットされ、次のログ イベントによって接続が再確立されます。

このアプローチでは、セットアップにロード バランサーを追加する必要があります。でロード バランサのアドレスを使用しますTcpAppender。バランサーは、logstash の可用性を処理します。

それはあなたが何を達成したいかによります。ログイベントは失われていませんか? 次に、ログをファイルに書き込み、logstash-forwarder によってファイルを logstash ボックスにプッシュすることをお勧めします。接続のタイムアウトとアプリケーションのスローダウンが気になる場合は、UDP を使用するかasync-appender、UDP を使用するかを選択できます。

HTH、マーク

于 2015-05-27T12:04:05.117 に答える