filebeat 關鍵邏輯分析

2021-09-27 04:28:27 字數 706 閱讀 2034

版本6.8.1

背景: filebeat工作機制從使用上便是定期檢測檔案狀態,然後上報。對於這種檢測檔案變化的方式比較感興趣,所以特此閱讀了部分原始碼

關鍵邏輯入口: 定時啟動掃瞄協程。可見按照配置檔案config.scanfrequency配置的時間間隔進行掃瞄

2.其次在定期掃瞄協程內獲取檔案的最新資料和該檔案歷史資料想對比,判斷是否需要採集該檔案

3.對每個檔案開單獨的協程進行採集,便是從上次歷史的offset開始進行收集,直到檔案的eof

總結:定時輪詢檔案的資訊,判斷是否需要收集,需要收集則為每個檔案啟動執行緒收集。

疑問: 是否可以採用監聽檔案開啟描述符的方式放類似於epoll來取代輪詢提公升效率呢?

文章說明了epoll對普通檔案fd是無法支援的

關鍵流程圖:

filebeat 輕量型日誌分析

paths 指定要監控的日誌,目前按照go語言的glob函式處理。encoding 指定被監控的檔案的編碼型別,使用plain和utf 8都是可以處理中文日誌的。input type 指定檔案的輸入型別log 預設 或者stdin。exclude lines 在輸入中排除符合正規表示式列表的那些行。...

ceph rgw中關鍵流程分析及業務邏輯

本來不想再寫ceph相關的文章了,最近在做ceph元資料優化研究及架構,整體思路是 將rados作為資料儲存引擎,構建分布式元資料集群來管理元資料,如 將rgw或者fs相關的元資料從ceph的元資料池中抽取出來,轉存到分布式元資料集群中,以此達到提公升單集群處理能力的目的 要達到這個目的,有兩個基礎...

Filebeat 原理詳解 配置檔案分析

配置檔案位置 對於rpm和deb,您將在以下位置找到配置檔案 etc filebeat filebeat.yml。在docker下,它位於 usr share filebeat filebeat.yml。對於mac和win以及zip文件,請檢視剛剛提取的存檔。相同路徑下還有乙個名為的完整示例配置檔案...