filebeat.inputs:- type: log
# 檢查檔案更新的頻率
# 預設是 10s
scan_frequency: 10s
# backoff 選項指定 filebeat 如何積極地抓取新檔案進行更新
# 預設1s
# backoff 選項定義 filebeat 在達到 eof 之後再次檢查檔案之間等待的時間
backoff: 1s
# 在達到 eof 之後再次檢查檔案是否更新之前 filebeat 等待的最長時間
max_backoff: 10s
# backoff_factor 定義了 backoff 的速度。backoff_factor 越大,max_backoff 值到達的速度越快。如果該值設定為1,則不會發生 backoff。
# backoff 值每次都會與 backoff_factor 相乘,直到達到 max_backoff 為止
backoff_factor: 2
# 啟用此選項時,假設乙個檔案找不到了, 將立即關閉檔案處理程式。假設檔案稍後再次出現,則在 scan_frequency 後的最後乙個已知位置繼續採集。
close_removed: true
# 必須將 ignore_older 設定為大於 close_inactive. 因為你可以忽略之後再啟用, 而不可以關閉 harvester 之後再啟用
# 忽略過去 ignore_older 時間沒有修改的檔案
# 當需要檢視最近一周內所產生的日誌檔案時, 可以配置 ignore_older: 168h
# 預設禁用 ( 設定為 0, , 沒有檔案被忽略 )
# 時間填寫格式: 2h (2 hours), 5m (5 minutes)
ignore_older: 0
# 每個 harvester 在獲取檔案時使用的緩衝區的位元組大小。預設值是16384。
harvester_buffer_size: 16384
# 關閉過去 close_inactive 時間非活動狀態的檔案的 harvester
# 判斷依據是檔案的最後一行是否更新, 而不是檔案的最後修改時間
# 時間填寫格式: 2h (2 hours), 5m (5 minutes)
close_inactive: 5m
# 並行開始的 harvesters 的最大數量, 預設是 0, 代表沒有限制
harvester_limit: 0
# 不管 harvester 有沒有完成讀取檔案, 在預定義時間之後關閉 harvester
# 雖然 close_timeout 將在 close_timeout 時間之後關閉檔案的 harvester, 但是如果檔案仍然在更新, filebeat 將根據定義的 scan_frequency 再次啟動乙個新的 harvester , 這個 harvester 的 close_timeout 將會隨著超時倒計時再次啟動
# 預設情況下這個選項是禁用的
# 存在潛在的資料丟失
close_timeout: 0
# 在 clean_inactive 時間之後, 從登錄檔檔案中刪除先前收穫的檔案的狀態
# clean_inactive設定必須大於ignore_older + scan_frequency
# 確保在仍然獲取檔案時沒有刪除任何狀態
# 否則,設定可能導致filebeat不斷地重新傳送完整的內容
# 因為clean_inactive刪除了仍然被filebeat檢測到的檔案的狀態。如果檔案被更新或再次出現,則從開始處讀取該檔案。
clean_inactive: 0
# 用於發布緩衝事件的內部佇列配置.
queue:
# 當輸出準備好為另一批事件提供伺服器時, 記憶體佇列將向輸出顯示所有可用的事件 ( 直到輸出 bulk_max_size )
# 記憶體佇列將所有事件儲存在記憶體中。
mem:
# 佇列可以緩衝的最大事件數。
events: 4096
# 發布所需事件的最小數量
# 如果將此值設定為0, 則輸出可以開始發布事件, 而不需要額外的等待時間, 否則輸出必須等待更多事件
flush.min_events: 2048
# 當佇列中儲存的事件數小於 min_flush_events, 輸出事件等待的最大持續時間是 flush.timeout
flush.timeout: 1s
# 在將事件**到輸出之前, spool 佇列將在本地 spool 檔案中儲存事件
# spool檔案是乙個迴圈緩衝區, 一旦檔案/緩衝區滿了, 它就會阻塞
# 一旦 write buffer 滿了, 或者觸發了flush_timeout, 事件被放入 write buffer 並 flush
# 一旦輸出確認, 事件將立即從佇列中移除, 從而為新事件的持久化騰出空間
spool:
# 一旦檔案存在, `size`, `page_size` 和 `prealloc` 這些設定無效
file:
# spool檔案的位置, 預設的位置是 $/spool.dat
# spool檔案路徑, 如果檔案不存在, 則在啟動時建立
path: "$/spool.dat"
# 檔案的許可權
# 許可權在建立檔案時應用
# 如果檔案已經存在, 則將檔案許可權與 file.permissions 進行比較, 如果實際的檔案許可權比配置的更寬鬆, 則不會開啟 spool 檔案
permissions: 0600
# 檔案大小提示, 一旦達到這個極限, spool 阻塞
# 大小應該比預期的事件大小和寫入緩衝區大小大得多。否則佇列將阻塞,因為它沒有足夠的空間。
# 一旦生成檔案,就不能更改檔案大小。這個限制將在未來被取消。
size: 100mib
# 乙個檔案被分割成相同大小的多個頁面
# 預設值是4kib
# 此設定應與檔案系統的最小塊大小匹配, 如果page_size不是檔案系統塊大小的倍數, 則檔案系統可能會在寫操作時建立額外的讀操作
# 頁面大小只在檔案建立時設定, 事後是無法改變的
page_size: 4kib
# 如果設定了預分配, 使用truncate保留檔案所需的空間
# 預設值為true
# 如果 prealloc 設定為 true, 則使用 truncate 將空間保留到 file.size
# 此設定僅在建立檔案時使用。
prealloc: true
# 如果出現一下情況, 事件被序列化到寫緩衝區中並被重新整理
# - 已達到緩衝極限
# - 已達到緩衝事件的配置限制
# - 觸發了重新整理超時
write:
# 設定 write buffer 大小
buffer_size: 1mib
# 如果寫緩衝區尚未滿, 重新整理事件的最大等待時間
# 預設值是 1s
flush.timeout: 1s
# 最大緩衝事件數。一旦達到限制,寫緩衝區就會被重新整理。
flush.events: 16384
# 用於序列化事件的事件編碼
# 有效的編碼有: json, ubjson 和 cbor
codec: cbor
read:
# 如果 flush_timeout 為 0, 則立即將所有可用事件**到輸出
# 預設是 0s
flush.timeout: 0s
# 設定可以同時執行的最大cpu數。預設值為系統中可用的邏輯cpu的數量。
max_procs:
filebeat的基本配置 基本配置)
filebeat 輸入配置編寫 基本配置 efk 中filebeat的檔案輸入 抽取本地檔案的配置檔案編寫 filebeat.inputs type log enabled true paths var log log var log log 抽取普通日誌。模組格式化抽取。type log path...
Filebeat的高階配置 Filebeat部分
filebeat的配置檔案是 etc filebeat filebeat.yml,遵循yaml語法。具體可以配置如下幾個專案 這個blog主要講解filebeat的配置部分,其他部分後續會有新的blog介紹。filebeat的部分主要定義prospector的列表,定義監控 的日誌檔案,關於如何定義...
Filebeat的高階配置 Filebeat部分
filebeat的配置檔案是 etc filebeat filebeat.yml,遵循yaml語法。具體可以配置如下幾個專案 這個blog主要講解filebeat的配置部分,其他部分後續會有新的blog介紹。filebeat的部分主要定義prospector的列表,定義監控 的日誌檔案,關於如何定義...