1. 程式人生 > >FileBeat與LogStash簡單測試對比

FileBeat與LogStash簡單測試對比

測試環境 CPU 記憶體 系統版本 硬碟大小 網絡卡
192.168.145.101 4個 每個4核 24G Linux version 2.6.32-642.el6.x86_64--Red Hat Enterprise Linux Server release 6.8 256G 萬兆網絡卡
1.5分鐘的持續輸入日誌,Log4J2列印日誌,beat掃描檔案將日誌傳輸給LogStash,LogStash使用logstash-input-beats外掛,接收日誌輸送給ElasticSearch,最後展示到Kibana
2.5分鐘的持續輸入日誌,Log4J2列印日誌,LogStash使用logstash-input-file外掛掃描檔案將日誌輸送給ElasticSearch,最後展示到Kibana
以上測試全部採用單節點
LogStash FileBeat 備註
記憶體 400左右   20左右(目前所有日誌資料夾掃描255左右)
CPU 8.5左右 (0.2 記憶體佔用不超過1)
最後一行處理
安全傳輸 filebeat實現ssl加密驗證
背壓敏感協議 當接收端繁忙時,會通知收集端降低傳輸速率,並在正常後恢復速度
外掛
適用場景
功能 從多種輸入端採集並實時解析和轉換資料並輸出到多種輸出端 傳輸
應急 記憶上次讀取節點 記憶上次讀取節點
文件
輕重 輕量級框架(相對較重) 輕量級二進位制檔案
過濾能力 強大的過濾能力 有過濾能力但是弱
程序 一臺伺服器只允許一個logstash程序,掛掉之後需要手動拉起 十分穩定 都可以通過X-Pack的monitoring進行監控,5.1版本適配
原理 Logstash使用管道的方式進行日誌的蒐集和輸出,分為輸入input --> 處理filter(不是必須的) --> 輸出output,每個階段都有不同的替代方式 開啟程序後會啟動一個或多個探測器(prospectors)去檢測指定的日誌目錄或檔案,對於探測器找出的每一個日誌檔案,filebeat啟動收割程序(harvester),每一個收割程序讀取一個日誌檔案的新內容,併發送這些新的日誌資料到處理程式(spooler),處理程式會集合這些事件,最後filebeat會發送集合的資料到你指定的地點。
編寫語言 Jruby go語言
叢集 單節點 單節點
輸出到多個接收方 支援 6.0之前支援 為保持管道的簡單性,明確beat的輸出範圍
二次開發或者擴充套件開發
支援非同步傳送 支援 支援