1. 程式人生 > >filebeat常用配置檔案總結

filebeat常用配置檔案總結

filebeat配置檔案例子

filebeat.prospectors:

- input_type: log
  tags: ["wap-accesslog-tags-include","www1"]
  ignore_older: 2h
  enabled: true
  paths: ["/root/logs/wap.*","/root/logs/wap_iv.*"]
  include_lines: ["^ERR", "^WARN"]
 
- input_type: log
  tags: ["wap-accesslog-tags-exclude","www1"]
  ignore_older: 2h
  enabled: true
  paths: ["/root/logs/wap.*","/root/logs/wap_iv.*"]
  exclude_lines: [".gz$"]
 
output.logstash:
  hosts: ["IP地址:5044"]
 
logging.level: info
logging.to_files: true
logging.to_syslog: false
logging.files:
path: /var/log/filebeat
name: mybeat.log

 
輸入  
input_type:相當於一個輸入的開始,每個檔案可以有幾個input和幾個output,是指定Filebeat採集資料型別。指定檔案的輸入型別log(預設)或者stdin。
tags: 給Filebeat採集到的資料加上標籤(讓output的地方使用),可以有幾個。

篩選
(以方便下一步的資料處理工具針對資料型別進行分類處理,如Logstash)
ignore_older: 如果啟用此選項,Filebeat 將忽略在此屬性指定時間之前修改的任何檔案以及更新時間比此屬性指定時間更長的檔案。
paths: 指定採集的日誌檔案,可以支援萬用字元,可以有幾個。
include_lines: 指定正則表示式,用來指定要匹配的行,在輸入中匹配符合正則表示式列表的那些行,可以有幾個。
exclude_lines: 指定正則表示式,用來指定不要匹配的行,在輸入中排除符合正則表示式列表的那些行,可以有幾個。
encoding:指定被監控的檔案的編碼型別,使用plain和utf-8都是可以處理中文日誌的。

顯示filebeat自身的日誌
logging.level: info
logging.to_files: true
logging.to_syslog: false
logging.files:
path: /var/log/filebeat
name: mybeat.log
可以設定日誌的level,路徑,名字

不常用的:
fields:向輸出的每一條日誌新增額外的資訊,比如“level:debug”,方便後續對日誌進行分組統計。預設情況下,會在輸出資訊的fields子目錄下以指定的新增fields建立子目錄,例如fields.level。
fields_under_root:如果該選項設定為true,則新增fields成為頂級目錄,而不是將其放在fields目錄下。自定義的field會覆蓋filebeat預設的field。
close_older:如果一個檔案在某個時間段內沒有發生過更新,則關閉監控的檔案handle。預設1h,change只會在下一次scan才會被發現
force_close_files:Filebeat會在沒有到達close_older之前一直保持檔案的handle,如果在這個時間窗內刪除檔案會有問題,所以可以把force_close_files設定為true,只要filebeat檢測到檔名字發生變化,就會關掉這個handle。
scan_frequency:Filebeat以多快的頻率去prospector指定的目錄下面檢測檔案更新(比如是否有新增檔案),如果設定為0s,則Filebeat會盡可能快地感知更新(佔用的CPU會變高)。預設是10s。
document_type:設定Elasticsearch輸出時的document的type欄位,也可以用來給日誌進行分類。
harvester_buffer_size:每個harvester監控檔案時,使用的buffer的大小。
max_bytes:日誌檔案中增加一行算一個日誌事件,max_bytes限制在一次日誌事件中最多上傳的位元組數,多出的位元組會被丟棄。
multiline:適用於日誌中每一條日誌佔據多行的情況,比如各種語言的報錯資訊呼叫棧。
tail_files:如果設定為true,Filebeat從檔案尾開始監控檔案新增內容,把新增的每一行檔案作為一個事件依次傳送,而不是從檔案開始處重新發送所有內容。
backoff:Filebeat檢測到某個檔案到了EOF之後,每次等待多久再去檢測檔案是否有更新,預設為1s。
max_backoff:Filebeat檢測到某個檔案到了EOF之後,等待檢測檔案更新的最大時間,預設是10秒。
backoff_factor:定義到達max_backoff的速度,預設因子是2,到達max_backoff後,變成每次等待max_backoff那麼長的時間才backoff一次,直到檔案有更新才會重置為backoff。
spool_size:spooler的大小,spooler中的事件數量超過這個閾值的時候會清空傳送出去(不論是否到達超時時間)。
idle_timeout:spooler的超時時間,如果到了超時時間,spooler也會清空傳送出去(不論是否到達容量的閾值)。
registry_file:記錄filebeat處理日誌檔案的位置的檔案
config_dir:如果要在本配置檔案中引入其他位置的配置檔案,可以寫在這裡(需要寫完整路徑),但是隻處理prospector的部分。
publish_async:是否採用非同步傳送模式(實驗功能)。

 

輸出
Filebeat可以指定輸出源(如下一些簡單配置的輸出源配置):
輸出到Logstash
output.logstash:
  hosts: ["localhost:5044"]
  (localhost為logstash所在的ip地址,可以改為192.168.1.152等)
  (5044位logstash監控的埠,需要與logstash的配置檔案對應)
 
輸出到File
output.file:
  path: "/tmp/filebeat"
  filename: filebeat
 
輸出到控制檯
output.console:
  pretty: true