FileBeat與LogStash簡單測試對比
阿新 • • 發佈:2019-01-28
測試環境 | 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的輸出範圍 | ||
二次開發或者擴充套件開發 | 難 | 易 | |||
支援非同步傳送 | 支援 | 支援 |