filebeat 讀取日誌文件

Filebeat工作原理  

Filebeat由兩個組件組成:prospector 和harvester

harvester:

  • 負責讀取單個文件的內容
  • 負責文件在讀取時被刪除或者重名名,Filebeat將繼續讀取文件

 prospector:

  • prospector負責管理harvester並找到所有要讀取文件來源
  • 如果輸入的類型爲日誌,則查找器將查找路徑匹配的所有文件,併爲每個文件啓動一個harvester
  • Filebeat目前支持兩種prospector類型:log 和 stdin

Filebeat如何保持文件的狀態:

  • Filebeat保存每個文件的狀態並經常將狀態刷新到磁盤上的註冊文件中
  • 該狀態用於記住harvester正在讀取的最後偏移量,並確保發送所有的日誌行
  • 如果輸出無法訪問,Filebeat會跟蹤最後發送的行,並在輸出再次可用時繼續讀取文件
  • 在Filebeat運行時,每個prospector內存中也會保存的文件狀態信息,當重啓Filebeat時,將使用註冊文件的數據來重建文件的狀態,Filebeat將每個harvester在從保存的最後的偏移量繼續讀取
  • 文件狀態記錄在/data/registry文件中

Filebeat 下載地址:https://www.elastic.co/cn/downloads/beats/filebeat (我用的版本是6.5.4 )

Filebeat讀取文件輸入到控制檯:

首先自己新建一個.yml文件:

vim wireless-log.yml

 filebeat.inputs:
- type: log  #讀取文件的類型有:log 和 stdin
  enabled: true # 是否啓用
  paths:
   - /wireless/beat/logs/*.log #讀取文件位置
setup.template.setting: # 分片信息
  index.number_of_shards: 5
output.console: # 控制檯輸出
  pretty: true # 格式化輸出
  enable: true

 

Filebeat讀取文件輸入到Elasticsearch:

vim wireless-es-log.yml

filebeat.inputs:
- type: log
  enabled: true
  paths: 
   - /wireless/beat/logs/*.log
setup.template.setting:
  index.number_of_shards: 5
output.elasticsearch:
  hosts: ["192.168.73.135", "192.168.73.130", "192.168.73.131"] #集羣地址

 

啓動命令:

./filebeat -e -c wireless-log.yml

./filebeat -e -c wireless-es-log.yml -d "publish"

#參數說明

-e:輸出到標準輸出,默認輸出syslog和logs下

-c:指定的文件

-d: 後臺啓動

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章