filebeat工作原理

Filebeat是本地文件的日志數(shù)據(jù)采集器叮喳。 作為服務器上的代理安裝,F(xiàn)ilebeat監(jiān)視日志目錄或特定日志文件缰贝,tail file馍悟,并將它們轉發(fā)給Elasticsearch或Logstash進行索引、kafka 等剩晴。

工作原理:

Filebeat由兩個主要組件組成:prospector 和harvester锣咒。這些組件一起工作來讀取文件(tail file)并將事件數(shù)據(jù)發(fā)送到您指定的輸出

啟動Filebeat時,它會啟動一個或多個查找器赞弥,查看您為日志文件指定的本地路徑毅整。 對于prospector 所在的每個日志文件,prospector 啟動harvester绽左。 每個harvester都會為新內(nèi)容讀取單個日志文件悼嫉,并將新日志數(shù)據(jù)發(fā)送到libbeat,后者將聚合事件并將聚合數(shù)據(jù)發(fā)送到您為Filebeat配置的輸出拼窥。

image.png

harvester

harvester :負責讀取單個文件的內(nèi)容戏蔑。讀取每個文件,并將內(nèi)容發(fā)送到 the output
每個文件啟動一個harvester, harvester 負責打開和關閉文件鲁纠,這意味著在運行時文件描述符保持打開狀態(tài)
如果文件在讀取時被刪除或重命名总棵,F(xiàn)ilebeat將繼續(xù)讀取文件。
這有副作用改含,即在harvester關閉之前情龄,磁盤上的空間被保留。默認情況下,F(xiàn)ilebeat將文件保持打開狀態(tài)刃唤,直到達到close_inactive狀態(tài)

關閉harvester會產(chǎn)生以下結果:
1)如果在harvester仍在讀取文件時文件被刪除隔心,則關閉文件句柄,釋放底層資源尚胞。
2)文件的采集只會在scan_frequency過后重新開始硬霍。
3)如果在harvester關閉的情況下移動或移除文件,則不會繼續(xù)處理文件笼裳。

要控制收割機何時關閉唯卖,請使用close_ *配置選項

prospector

prospector 負責管理harvester并找到所有要讀取的文件來源。
如果輸入類型為日志躬柬,則查找器將查找路徑匹配的所有文件拜轨,并為每個文件啟動一個harvester。
每個prospector都在自己的Go協(xié)程中運行允青。

以下示例將Filebeat配置為從與指定的匹配的所有日志文件中收集行:

filebeat.prospectors:
- type: log
  paths:
    - /var/log/*.log
    - /var/path2/*.log

Filebeat目前支持兩種prospector類型:log和stdin喜德。
每個prospector類型可以定義多次矾踱。
日志prospector檢查每個文件以查看harvester是否需要啟動,是否已經(jīng)運行,
或者該文件是否可以被忽略(請參閱ignore_older)朴艰。
只有在harvester關閉后文件的大小發(fā)生了變化仲闽,才會讀取到新行腋腮。

注:Filebeat prospector只能讀取本地文件窍侧, 沒有功能可以連接到遠程主機來讀取存儲的文件或日志。

Filebeat如何保持文件的狀態(tài)瓷蛙?

Filebeat 保存每個文件的狀態(tài)并經(jīng)常將狀態(tài)刷新到磁盤上的注冊文件中悼瓮。
該狀態(tài)用于記住harvester正在讀取的最后偏移量,并確保發(fā)送所有日志行艰猬。
如果輸出(例如Elasticsearch或Logstash)無法訪問横堡,F(xiàn)ilebeat會跟蹤最后發(fā)送的行,并在輸出再次可用時繼續(xù)讀取文件姥宝。
在Filebeat運行時翅萤,每個prospector內(nèi)存中也會保存的文件狀態(tài)信息,
當重新啟動Filebeat時腊满,將使用注冊文件的數(shù)據(jù)來重建文件狀態(tài)套么,F(xiàn)ilebeat將每個harvester在從保存的最后偏移量繼續(xù)讀取。

每個prospector為它找到的每個文件保留一個狀態(tài)碳蛋。
由于文件可以被重命名或移動胚泌,因此文件名和路徑不足以識別文件。
對于每個文件肃弟,F(xiàn)ilebeat存儲唯一標識符以檢測文件是否先前已采集過玷室。

如果您的使用案例涉及每天創(chuàng)建大量新文件零蓉,您可能會發(fā)現(xiàn)注冊文件增長過大。請參閱注冊表文件太大穷缤?編輯有關您可以設置以解決此問題的配置選項的詳細信息敌蜂。

Filebeat如何確保至少一次交付

Filebeat保證事件至少會被傳送到配置的輸出一次,并且不會丟失數(shù)據(jù)津肛。 Filebeat能夠實現(xiàn)此行為章喉,因為它將每個事件的傳遞狀態(tài)存儲在注冊文件中。

在輸出阻塞或未確認所有事件的情況下身坐,F(xiàn)ilebeat將繼續(xù)嘗試發(fā)送事件秸脱,直到接收端確認已收到。

如果Filebeat在發(fā)送事件的過程中關閉部蛇,它不會等待輸出確認所有收到事件摊唇。
發(fā)送到輸出但在Filebeat關閉前未確認的任何事件在重新啟動Filebeat時會再次發(fā)送。
這可以確保每個事件至少發(fā)送一次涯鲁,但最終會將重復事件發(fā)送到輸出巷查。
也可以通過設置shutdown_timeout選項來配置Filebeat以在關閉之前等待特定時間。

注意:
Filebeat的至少一次交付保證包括日志輪換和刪除舊文件的限制撮竿。如果將日志文件寫入磁盤并且寫入速度超過Filebeat可以處理的速度吮便,或者在輸出不可用時刪除了文件笔呀,則可能會丟失數(shù)據(jù)幢踏。
在Linux上,F(xiàn)ilebeat也可能因inode重用而跳過行许师。有關inode重用問題的更多詳細信息房蝉,請參閱filebeat常見問題解答。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末微渠,一起剝皮案震驚了整個濱河市搭幻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌逞盆,老刑警劉巖檀蹋,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異云芦,居然都是意外死亡俯逾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門舅逸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來桌肴,“玉大人,你說我怎么就攤上這事琉历∽蛊撸” “怎么了水醋?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長彪置。 經(jīng)常有香客問我拄踪,道長,這世上最難降的妖魔是什么拳魁? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任宫蛆,我火速辦了婚禮,結果婚禮上的猛,老公的妹妹穿的比我還像新娘耀盗。我一直安慰自己,他們只是感情好卦尊,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布叛拷。 她就那樣靜靜地躺著,像睡著了一般岂却。 火紅的嫁衣襯著肌膚如雪忿薇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天躏哩,我揣著相機與錄音署浩,去河邊找鬼。 笑死扫尺,一個胖子當著我的面吹牛筋栋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播正驻,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼弊攘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了姑曙?” 一聲冷哼從身側響起襟交,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伤靠,沒想到半個月后捣域,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡宴合,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年焕梅,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片形纺。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡丘侠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出逐样,到底是詐尸還是另有隱情蜗字,我是刑警寧澤打肝,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站挪捕,受9級特大地震影響粗梭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜级零,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一断医、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧奏纪,春花似錦鉴嗤、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至发绢,卻和暖如春硬耍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背边酒。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工经柴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墩朦。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓坯认,卻偏偏與公主長得像,于是被迫代替她去往敵國和親介杆。 傳聞我的和親對象是個殘疾皇子鹃操,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)春哨,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • title: filebeat config date: 2017-06-11 03:22:31 categori...
    bdslinux閱讀 4,190評論 0 5
  • 姓名:周小蓬 16019110037 轉載自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw閱讀 34,708評論 13 425
  • 加油恩伺!困難就是彈簧赴背,你越強它就弱
    你再也不是我心中的你了閱讀 170評論 0 0
  • 生活中我們很容易被一些不起眼的小事,低落的情緒晶渠,某人的一句批評牽著鼻子走凰荚,心情變得越來越糟糕。如何才能不為小事抓狂...
    晨希yang閱讀 219評論 1 2