0

複数のファイルビートから 5000 をリッスンする 2 つの logstash サーバーがあります。logstash サーバーの 1 つだけがトラフィックを取得しています。これらをnginxで負荷分散できますか? Elasticsearch サーバーのクラスターで同じことを行うことはできますか?

4

3 に答える 3

1

それは問題のようには聞こえません。

ただし、どちらの場合もリバース プロキシとして haproxy を使用することをお勧めします。Nginx は、データを高速に提供するための優れた担当者を持っていますが、すぐに使用できるリバース プロキシには適していません。504 ゲートウェイのタイムアウトの問題が多く、haproxy と比較して最小限のメトリックです。

logstash と elasticsearch サーバー グループに同じプロキシを使用するように構成できます。

于 2016-08-26T16:54:05.833 に答える
0

私はそれを働かせました。--with-stream タグなしでビルドされたバージョンの nginx を使用して、tcp トラフィックをプロキシできるようにしました。今すぐ動作します。

于 2016-08-29T17:31:14.513 に答える
0

Logstash に NginX を使用して負荷分散を行うのに問題はないはずです。tcp/udp レイヤーで負荷分散を行うstream代わりに、ブロックを使用する必要があることに注意してください。httpこれは、filebeat が lumberjack というプロトコルを使用してlogstashサーバーに接続しているためです。このプロトコルは tcp の上にあります。したがって、NginX の構成は次のようになります。

stream {
    upstream logstash {
        server logstash-1:5044;
        server logstash-2:5044;
    }

    server {
        listen        5044;
        listen   [::]:5044;

        proxy_pass logstash;
    }
}

ここでは、docker を使用して別のコンテナーで実行logstash-1logstash-2、同じ 5044 ポートに配置できるようにしました。特定の logstash ホストとポートに基づいて、これらのアドレスを自由に変更してください。

于 2021-07-25T08:08:29.607 に答える