Filebeat 是 Elastic Stack(以前稱為 ELK Stack)的一部分,用于監控服務器上的文件或位置,收集日志文件內容,然后轉發到 Elasticsearch 或 Logstash 進行索引。Filebeat 的日志傳輸原理主要包括以下幾個步驟:
啟動 Filebeat:
input
,這些 input
會在指定的目錄下查找滿足條件的日志文件。啟動 Harvester:
input
所找到的每個日志文件,Filebeat 都會啟動一個 harvester
。harvester
會讀取單個日志文件以獲取新日志數據,并將這些新日志數據聚集(緩存)起來。數據傳輸:
狀態管理和增量傳輸:
harvester
讀取的最后一個偏移量,并確保發送所有日志行。配置和靈活性:
Filebeat 的設計使其成為一個輕量級且高效的日志收集工具,適用于各種規模的環境,尤其是在需要處理大量日志數據時。通過上述機制,Filebeat 能夠確保日志數據的實時傳輸和處理,同時最大限度地減少資源消耗。