2017-09-19 8 views
1

こんにちは、私はElasticSearch(ES)またはLogstatshにログを送るのにfileBeatが必要なのか疑問に思っています。Logstatshにログを送ることができるときにファイルビートが必要なのはなぜですか?

私が知る限り、ファイルからログを直接読み込み、logstashに送信したり、そこからESに送信したりできます。前者が許可されているのであれば、なぜFileBeatはログとログの間の中間層になる必要があるのですか?私が知っていた何

:私はあなたがFilebeat対プラグインファイル入力について話していると仮定しxyzlogfile--->fileBeat--->logstash-file--->ES--->kibana

答えて

1

xyzlogfile--->logstash-file--->ES--->kibana
はなぜ間FileBeatが必要です。

注意すべき点がいくつかあり:

  1. LogstashがFilebeatよりもメモリとCPU使用率の面ではるかに重いです。 JavaソフトウェアをデプロイするとうまくいくかもしれないJVMが必要ですが、多くのプロジェクトではJVMは不要なオーバーヘッドです。 Filebeatは軽いネイティブの実行可能ファイルです。

  2. あなたがどんな構文解析を必要としないし、あなたが簡単なお持ちの場合Filebeat

  3. によって生成されたタイムスタンプと、OKであれば、あなたのログはJSON
  4. している場合は、すべての

  5. を使用することができますおそらく必要になるでしょう。たとえば、ルビーフィルタを書くだけで簡単にでき、素早く試作できます。超高生産負荷を最適化するには、カスタムフィルタプラグインを作成する必要があるかもしれません。あるいは、Ingest Nodesで使用する独自のカスタムプロセッサを作成してみることもできます(ただし、まだ試していません。 Logstashフィルタは、上記のすべてのポイントは、ファイルの内容を摂取に関連している)

  6. 非常に簡単ですが、Logstashはあなたが必要とあなたのすべての場合Logstash

でのみ利用していると思われる多くの入力/出力プラグインを持っていますファイルはlogstashプロセスと同じノードにありますが、File Input Pluginを使用するのはオプション( "xyzlogfile ---> logstash-file ---> ES ---> kibana")を使用するよりも優先されます。

しかし、ほとんどの展開では、さまざまな役割とソフトウェアスタックが展開された多数のノードからデータを収集する必要があります。これらのノードすべてにLogstashインスタンスをデプロイしたくないので、 "xyzlogfile ---> fileBeat ---> logstash-file ---> ES ---> kibana"を使用する必要があります(または別のオプションは "xyzlogfile ---> fileBeat ---> ES --->「kibana」と入力ノード)。

関連する問題