Logstash vs Fluentd

參考以下文章並做出之重點整理

  • reference : https://platform9.com/blog/kubernetes-logging-comparing-fluentd-vs-logstash/

比較

寫法

  • Logstash : if…else…。
  • Fluentd : 利用tag去控制data的流向。

套件

  • Logstash : 中心化由官方設計,文件較集中。
  • Fluentd : 有官方的套件亦有其他創作者開發的內容,文件較為分散。

資料傳輸

  • Logstash : Logstash的限制為使用memory的queue並只能持有20events,因此需要其他套件去協助,例如: redis, filebeat等,這個限制造成了架構福雜化,以及節點破碎產生的風險。
  • Fluentd : 透過磁盤去進行buffer, 解決Logstash上述的限制。

with Docker

  • Fluentd : Docker有預設Fluentd的driver,可直接透過stdout就傳到Fluentd。

內部編碼

  • Logstash才用Jruby,需依賴Java環境。
  • Flunted才用Cruby,也就是一般的ruby。

企業支持

  • 由於Logstash是由Elastic開發的產品,環境一致性高,目前仍然有許多企業支持。