FileBeat是一個日誌收集器,基於Logstash-Forwarder的源代碼。FileBeat通常以代理的身份運行在客戶端服務器中,並監視用戶指定的目錄、文件,同時把日誌文件更新部分推送給Logstash解析或者直接推送給ES索引。服務器
FileBeat的工做方式:
當FileBeat在服務器上啓動後,它同時啓動一個或者多個prospectors
來監視用戶指定的日誌文件目錄。
prospectors
而後針對每一個日誌文件,都啓動一個harvester
,每個harvester
監視一個文件的新增內容,並把新增內容送到spooler
中。而後spooler
來彙總這些events
事件。而後把這些事件傳送給logstash或者es。elasticsearch
FileBeat的使用與ES、Logstash基本同樣,從官方網站下載*.tar.gz
文件,而後解壓。添加配置文件,而後就能夠運行了。ide
若是用rpm或者deb的安裝包,配置文件的位置在:
/etc/filebeat/filebeat.yml
。fetch
下面是一個默認的配置文件:網站
filebeat: # List of prospectors to fetch data. prospectors: # Each - is a prospector. Below are the prospector specific configurations - # Paths that should be crawled and fetched. Glob based paths. # For each file found under this path, a harvester is started. paths: - "/var/log/*.log" #- c:\programdata\elasticsearch\logs\* # Type of the files. Based on this the way the file is read is decided. # The different types cannot be mixed in one prospector # # Possible options are: # * log: Reads every line of the log file (default) # * stdin: Reads the standard in input_type: log # Type to be published in the 'type' field. For Elasticsearch output, # the type defines the document type these entries should be stored # in. Default: log document_type: syslog ......
input_type
決定了被監聽文件的讀取方式,同一個prospector
不能混用不一樣的input_type
, 可選的類型有log
和stdin
。
document_type
會在日誌的輸出中增長一個type
的字段。若是輸入的對象是es
,那麼這個字段就是es
中文檔的類型
。this
在設置日誌文件的路徑時,每個prospector
監視一個路徑(目錄)。代理