Filebeat6.3文檔—Log input配置

Filebeat6.3文檔—Log input配置正則表達式

paths

日誌加載的路徑.例如加載某一子目錄級別下面路徑的日誌:/var/log/*/*.log.這表示會去加載以.log結尾的/var/log下面的全部子目錄,注意:這不包括/var/log這一級目錄.可在paths前面加(-),指定多個目錄路徑json

recursive_glob.enabled

這個特性能夠在路徑後面跟隨**,表示加載這個路徑下全部的文件,例如:/foo/**,表示加載/foo,/foo/*,/foo/*/*.這項特性默認是打開的,要關閉能夠設置recursive_glob.enabled=false數組

encoding

encdoing根據輸入的文本設置緩存

  • plain, latin1, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk, hz-gb-2312,
  • euc-kr, euc-jp, iso-2022-jp, shift-jis, and so on
exclude_lines

用一個數組匹配FIlebeat排除的行併發

若是使用了multiline這個設置的話,每個multiline信息在被exclude_lines過濾以前都會被合併成一個簡單行操作系統

下面這個例子表示,Filebeat會過濾掉全部的以DBG開頭的行日誌

filebeat.inputs:
- type: log
  ...
  exclude_lines: ['^DBG']
include_lines

和exclude_lines相反,Filebeat只會接受符合正則表達式的行code

下面這個例子表示Filebeat將導出以ERR或WARN開頭的全部行對象

filebeat.inputs:
- type: log
  ...
  include_lines: ['^ERR', '^WARN']

若是exclude_lines和include_lines都被定義了,那麼Filebeat將先執行include_lines,而後再執行exclude_lines,二者沒有順序關係生命週期

下面這個例子表示Filebeat將導出全部包含sometext的列,可是除了以DBG開頭的行

filebeat.inputs:
- type: log
  ...
  include_lines: ['sometext']
  exclude_lines: ['^DBG']
harvester_buffer_size

每一個harvester的緩存大小,默認是16384

max_bytes

單個日誌消息能夠發送的最大字節,這個設置對multiline特別管用,默認是10MB

json

設置實例

json.keys_under_root: true
json.add_error_key: true
json.message_key: log
keys_under_root

默認狀況下,解析的JSON位於輸出文檔中的「json」鍵下。若是啓用此設置,則會在輸出文檔中將鍵複製到頂層。

overwriter_keys

若是啓用了keys_under_root和此設置,則解碼的JSON對象中的值將覆蓋Filebeat一般添加的字段(類型,源,偏移等)以防發生衝突。

add_error_key

若是啓用此設置,則Filebeat會在JSON解析錯誤或在配置中定義message_key但沒法使用時添加「error.message」和「error.type:json」鍵

message_key

指定被過濾的行和multiline的key,若是指定了key,那麼這個key必須在頂層,而且value必須是string類型, 要否則將不能被過濾或聚合分析

ignore_decoding_error

指定若是json解析錯誤是否應該被記日誌,默認是false

multiline

將多行日誌合併成一行

exclude_files

用正則表達式來匹配你想要Filebeat過濾的文件

下面這個例子表示,Filebeat會過濾以gz爲擴展名的文件

filebeat.inputs:
- type: log
  ...
  exclude_files: ['\.gz$']
ignore_older

Filebeat將忽略在指定的時間跨度以前修改的全部文件.例如,若是你想要在啓動Filebeat的時候只發送最新的files和上週的文件,你就能夠用這個設置

你可使用string類型的字符串表示例如2h(2 hours) and 5m(5 minutes),默認是0,

設置0和註釋掉這個配置具備同樣的效果

注意:你必須設置ignore_older大於close_inactive

兩類文件會受此設置的影響

1.文件未被harvest

2.文件被harvest可是沒有更新的時間超過ignore_older設置的時間

close_*

用來關閉harvester在設置某個標準或時間以後.若是某個文件在被harvester關閉後更新,那麼這個文件會在scan_frequency過去以後將再次被handler.

close_inactive

啓用此選項後,若是文件還沒有在指定的持續時間內harvested,那麼會關閉文件handler.定義期間的計時器從harvester讀最後一個文件開始.若是這個被關閉的文件內容再次改變,那麼在scal_frequency以後會再次被pick up

咱們推薦你設置這個值大於你頻繁更新文件的時間,若是你更新log文件每幾秒一次,那麼你能夠放心的設置close_inactive爲1m,

close_renamed

若是設置這個值,Filebeat將會關閉文件處理當一個文件被更名了

close_timeout

給每一個harvester設定一個生命週期,若是超過這個設定的時間,那麼Filebeat將會中止讀取這個文件,若是這個文件依然在更新, 那麼會開始一個新的harvester,並從新計時.設置close_timeout可使操做系統按期釋放資源

若是你設置了close_timeout和ignore_older相等的時間,若是當harvester關閉後,這個文件被修改了,那麼它也不會被pick up了.這一般會致使數據丟失. 若是正在處理multiline的時候close_timeout時間到了,那麼可能只發送了部分文件.

clean_inactive

Filebeat將在設定的時間事後移除掉文件的讀取狀態,若是在移除文件的讀取狀態後,文件再次被更新,那麼這個文件將再次被讀取

這個設置能夠有效的減小文件註冊表的大小,特別是在天天有大量新的文件生成的系統中

clean_removed

Filebeat將會從註冊表中移除這些文件,若是這些文件不能再磁盤中被找到.若是某個文件消失了,而後再次出現,那麼這個文件將會被從頭開始讀.默認開啓

scan_frequency

Filebeat檢查指定用於讀取的路徑下的新文件的頻率.咱們推薦不要設置這個值小於1s,避免Filebeat過於頻繁的掃描.默認是10s

若是想要近實時發送日誌文件,請不要使用很是小的scan_frequency,使用close_inactive可使文件持續的保持打開並不斷的被輪詢

tail_files

若是設置了這個值爲true,那麼Filebeat將會從尾讀取這個文件

backoff

定義了Filebeat在達到EOF後再次檢查文件以前等待的時間,默認值已經符合大多數的場景,默認1s.

harvester_limit

設置harvesters的併發量.默認設置爲0,意思是沒有作限制.若是設定了這個值, 意味着若是文件不少的話,並不會所有被託管,建議和close_*一塊兒使用,這樣能使新的文件被託管

tags

使用標籤可以在Filebeat輸出的每一個事件中加入這個tags字段,這樣可以被Kibana或Logstash輕鬆過濾

filebeat.inputs:
- type: log
  . . .
  tags: ["json"]
fields

能夠向輸出添加其餘信息,例如能夠加入一些字段過濾log數據

fields_under_root

若是設定爲true,那麼自定義字段將存儲爲輸出文檔中的頂級字段,而不是在子字段下的分組.若是自定義的字段與其餘字段衝突了,那麼自定義的字段會覆蓋其餘字段

相關文章
相關標籤/搜索