filebeat_work

這個(gè)話題,你學(xué)習(xí)了解Filebeat關(guān)鍵構(gòu)件
他們之間是怎么樣工作, 理解這些概念,
在配置filebeat的時(shí)候,幫助你做出正確的決定。

filebeat有倆個(gè)主要的組件: prospectors or harversters

Harvester

  • 負(fù)責(zé)讀取一個(gè)單個(gè)文件的內(nèi)容
  • 逐行讀取一個(gè)文件,并發(fā)送內(nèi)容到輸出端
  • 從文件的開(kāi)始讀取,通過(guò)文件描述符控制關(guān)閉和打開(kāi)文件
  • 如果文件被移走或者重命名,依然會(huì)讀取該文件
  • 默認(rèn)情況下,Filebeat保持打開(kāi)該文件,直到到達(dá)close_inactive

關(guān)閉harverter會(huì)有一下結(jié)果

  • 如果之前正在讀取一個(gè)刪除的日志文件,此時(shí)關(guān)閉harverter,則這個(gè)文件將被關(guān)閉,釋放潛在的資源
  • scan_frequency運(yùn)行后,將被開(kāi)始讀取文件
  • 當(dāng)文件被刪除或者移走,關(guān)閉harvester,文件不在被讀取
  • 控制harvester的關(guān)閉,使用close_* 選項(xiàng)配置

Prospector

  • 負(fù)責(zé)管理harvesters和尋找資源來(lái)讀取
  • 當(dāng)input_type是log的時(shí)候,它將發(fā)現(xiàn)所有匹配定義的路徑文件,為每個(gè)文件開(kāi)始啟動(dòng)一個(gè)harvester,每個(gè)prospector都跑自己的例程
  • 支持倆中prospector類型: log and stdin
  • 每個(gè)prospector類型可以被定義多次
  • 對(duì)每個(gè)文件檢查是否需要啟動(dòng)harvester,是否已經(jīng)啟動(dòng),是否被忽略等定義
  • 如果harvester是關(guān)閉的,文件的尺寸改變了,新行只是被收錄進(jìn)來(lái)

保持文件狀態(tài)

  • 保持文件狀態(tài),頻繁寫(xiě)入registry file中
  • 文件狀態(tài)記錄最后讀取文件的偏移量,確保所有日志文件被發(fā)送
  • 跟蹤發(fā)送的最后一行日志,繼續(xù)閱讀日志,直到輸出端恢復(fù)正常
  • filebeat運(yùn)行的時(shí)候,每個(gè)prospector狀態(tài)信息被保存在內(nèi)存中
  • filebeat被重啟,將讀取registry文件來(lái)恢復(fù)文件狀態(tài),確認(rèn)位置
  • 為了發(fā)現(xiàn)每個(gè)prospertor保持文件狀態(tài),對(duì)于每個(gè)文件,filebeat將存儲(chǔ)唯一驗(yàn)證號(hào)來(lái)探測(cè)一個(gè)文件是否被獲取了

保證至少一次成功投遞

  • filebeat為每個(gè)事件存儲(chǔ)投遞狀態(tài)到registry file中
  • 在定義的輸出被阻塞的情況下并沒(méi)有證實(shí)所有事件,Filebeat將試圖發(fā)送事件,直到輸出承認(rèn)已收到事件
  • 如果在發(fā)送事件中,filebeat關(guān)閉,它不會(huì)等待事件成功投遞返回結(jié)果,當(dāng)再次啟動(dòng)filebeat的時(shí)候,會(huì)再次發(fā)送一次事件,確保至少事件有一次被發(fā)送,但也可以在結(jié)束的時(shí)候,發(fā)送倆條事件,或者可以指定等待超時(shí)時(shí)間 通過(guò)shutdown_timeout

限制

  • 當(dāng)輸出端不可達(dá)的時(shí)候,文件被刪除了,數(shù)據(jù)可能會(huì)丟失
  • 寫(xiě)入磁盤(pán)的速度一定要大雨filebeat進(jìn)程的速度
  • linux上還有可能inode重用,filebeat會(huì)跳過(guò)inode重用文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,562評(píng)論 19 139
  • title: filebeat config date: 2017-06-11 03:22:31 categori...
    bdslinux閱讀 4,323評(píng)論 0 5
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,273評(píng)論 6 342
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,242評(píng)論 2 33
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,415評(píng)論 6 13

友情鏈接更多精彩內(nèi)容