Filebeat6.3文檔—Log input配置正則表達式
日誌加載的路徑.例如加載某一子目錄級別下面路徑的日誌:/var/log/*/*.log
.這表示會去加載以.log結尾的/var/log下面的全部子目錄,注意:這不包括/var/log
這一級目錄.可在paths前面加(-),指定多個目錄路徑json
這個特性能夠在路徑後面跟隨**
,表示加載這個路徑下全部的文件,例如:/foo/**
,表示加載/foo,/foo/*,/foo/*/*
.這項特性默認是打開的,要關閉能夠設置recursive_glob.enabled=false
數組
encdoing根據輸入的文本設置緩存
用一個數組匹配FIlebeat排除的行併發
若是使用了multiline這個設置的話,每個multiline信息在被exclude_lines過濾以前都會被合併成一個簡單行操作系統
下面這個例子表示,Filebeat會過濾掉全部的以DBG開頭的行日誌
filebeat.inputs: - type: log ... exclude_lines: ['^DBG']
和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的緩存大小,默認是16384
單個日誌消息能夠發送的最大字節,這個設置對multiline特別管用,默認是10MB
設置實例
json.keys_under_root: true json.add_error_key: true json.message_key: log
默認狀況下,解析的JSON位於輸出文檔中的「json」鍵下。若是啓用此設置,則會在輸出文檔中將鍵複製到頂層。
若是啓用了keys_under_root和此設置,則解碼的JSON對象中的值將覆蓋Filebeat一般添加的字段(類型,源,偏移等)以防發生衝突。
若是啓用此設置,則Filebeat會在JSON解析錯誤或在配置中定義message_key但沒法使用時添加「error.message」和「error.type:json」鍵
指定被過濾的行和multiline的key,若是指定了key,那麼這個key必須在頂層,而且value必須是string類型, 要否則將不能被過濾或聚合分析
指定若是json解析錯誤是否應該被記日誌,默認是false
將多行日誌合併成一行
用正則表達式來匹配你想要Filebeat過濾的文件
下面這個例子表示,Filebeat會過濾以gz爲擴展名的文件
filebeat.inputs: - type: log ... exclude_files: ['\.gz$']
Filebeat將忽略在指定的時間跨度以前修改的全部文件.例如,若是你想要在啓動Filebeat的時候只發送最新的files和上週的文件,你就能夠用這個設置
你可使用string類型的字符串表示例如2h(2 hours) and 5m(5 minutes),默認是0,
設置0和註釋掉這個配置具備同樣的效果
注意:你必須設置ignore_older大於close_inactive
兩類文件會受此設置的影響
1.文件未被harvest
2.文件被harvest可是沒有更新的時間超過ignore_older設置的時間
用來關閉harvester在設置某個標準或時間以後.若是某個文件在被harvester關閉後更新,那麼這個文件會在scan_frequency過去以後將再次被handler.
啓用此選項後,若是文件還沒有在指定的持續時間內harvested,那麼會關閉文件handler.定義期間的計時器從harvester讀最後一個文件開始.若是這個被關閉的文件內容再次改變,那麼在scal_frequency以後會再次被pick up
咱們推薦你設置這個值大於你頻繁更新文件的時間,若是你更新log文件每幾秒一次,那麼你能夠放心的設置close_inactive爲1m,
若是設置這個值,Filebeat將會關閉文件處理當一個文件被更名了
給每一個harvester設定一個生命週期,若是超過這個設定的時間,那麼Filebeat將會中止讀取這個文件,若是這個文件依然在更新, 那麼會開始一個新的harvester,並從新計時.設置close_timeout可使操做系統按期釋放資源
若是你設置了close_timeout和ignore_older相等的時間,若是當harvester關閉後,這個文件被修改了,那麼它也不會被pick up了.這一般會致使數據丟失. 若是正在處理multiline的時候close_timeout時間到了,那麼可能只發送了部分文件.
Filebeat將在設定的時間事後移除掉文件的讀取狀態,若是在移除文件的讀取狀態後,文件再次被更新,那麼這個文件將再次被讀取
這個設置能夠有效的減小文件註冊表的大小,特別是在天天有大量新的文件生成的系統中
Filebeat將會從註冊表中移除這些文件,若是這些文件不能再磁盤中被找到.若是某個文件消失了,而後再次出現,那麼這個文件將會被從頭開始讀.默認開啓
Filebeat檢查指定用於讀取的路徑下的新文件的頻率.咱們推薦不要設置這個值小於1s,避免Filebeat過於頻繁的掃描.默認是10s
若是想要近實時發送日誌文件,請不要使用很是小的scan_frequency,使用close_inactive可使文件持續的保持打開並不斷的被輪詢
若是設置了這個值爲true,那麼Filebeat將會從尾讀取這個文件
定義了Filebeat在達到EOF後再次檢查文件以前等待的時間,默認值已經符合大多數的場景,默認1s.
設置harvesters的併發量.默認設置爲0,意思是沒有作限制.若是設定了這個值, 意味着若是文件不少的話,並不會所有被託管,建議和close_*一塊兒使用,這樣能使新的文件被託管
使用標籤可以在Filebeat輸出的每一個事件中加入這個tags字段,這樣可以被Kibana或Logstash輕鬆過濾
filebeat.inputs: - type: log . . . tags: ["json"]
能夠向輸出添加其餘信息,例如能夠加入一些字段過濾log數據
若是設定爲true,那麼自定義字段將存儲爲輸出文檔中的頂級字段,而不是在子字段下的分組.若是自定義的字段與其餘字段衝突了,那麼自定義的字段會覆蓋其餘字段