ELK Stack
と知り合ったのはわずか数日です。私たちはエンタープライズアプリケーションでこれを使用しようとしていますが、アーキテクチャ上の問題があります。 &は、ELK
とそのアーキテクチャのいくつかのユースケース、especially in linkedinを読んでいますが、ネットワークエラーの潜在的な影響については誰も話していません。ELKスタックのネットワークフォールトトレラントアーキテクチャ
通常、ログがファイルに書き込まれる従来のアプリケーションでは、システムクラッシュの原因となる唯一の理由は、まれにDisk is Full
というエラーです。しかし、ログがネットワーク経由で送信される集中ログシステムでは、ネットワークエラーが非常に一般的なので、システムは非常にクラッシュしやすいと思います!特に信頼できないネットワークを持つ隊員のために/のために。さらに
、私は多くのELK
ユースケースで見てきたように、JMS Provider
のすなわちKafka
又はRedis
等Pub/Sub Provider
における単一のインスタンスはELK
と共に使用されます。私は以前の問題に加えて、JMS Provider
はこれらのアーキテクチャでsingle point of failure
だと思います!そうでなければ、それは集まります。
は、私たちは、単一ノード上で各Shipper[s]
と一緒Kafka
ようJMS Provider
を使用する場合(各ノードごとに1 Kafka
)を次のように我々は両方の問題を取り除くことができると思います。
((log-generator)+ (logstash)? Kafka)* -> Logstash -> Elasticsearch -> Kibana
、聞かせてくださいこのアーキテクチャが理にかなっているかどうかは分かりますか?
それ以外のフォールトトレラントアーキテクチャは歓迎されます:)
答えをありがとう。私は、イベントが 'syslog'(これは同期とUDPの両方)であるとのこの疑問で質問しましたが、その後、私はそれが正しい経路ではないと結論付けました。さて、私はログをローカルファイルに書き込んで、何とかそれらをディスパッチする必要があることに同意します。ログを送出するために、私はKafkaとRedisの両方の出力プラグインを持っているのでlogstashを使うことができますが、 'filebeat'を使っても可能かどうか知りたいのですが? logstashとfilebeatの違いは何ですか? – faghani
logstashは、ログの読み取り、処理、および出荷が可能なフル機能のシステムです。filebeatは軽量プログラムで、ほとんどの場合読み書きができます(ただし、複数行のレコードを組み合わせるなどの重要なリモート側の機能があります)。 –