filebeat 配置文件參數
阿新 • • 發佈:2018-01-31
err yaml 刪除 lib off str 配置參數 拆分 try
filebeat 配置
所有的 beats 組件在 output 方面的配置都是一致的,之前章節已經介紹過。這裏只介紹 filebeat 在 input 段的配置,如下:
filebeat:
spool_size: 1024 # 最大可以攢夠 1024 條數據一起發送出去
idle_timeout: "5s" # 否則每 5 秒鐘也得發送一次
registry_file: ".filebeat" # 文件讀取位置記錄文件,會放在當前工作目錄下。所以如果你換一個工作目錄執行 filebeat 會導致重復傳輸!
config_dir: "path/to/configs/contains/many/yaml" # 如果配置過長,可以通過目錄加載方式拆分配置
prospectors: # 有相同配置參數的可以歸類為一個 prospector
-
fields:
ownfield: "mac" # 類似 logstash 的 add_fields
paths:
- /var/log/system.log # 指明讀取文件的位置
- /var/log/wifi.log
include_lines: ["^ERR", "^WARN"] # 只發送包含這些字樣的日誌
exclude_lines: ["^OK"] # 不發送包含這些字樣的日誌
-
document_type: "apache" # 定義寫入 ES 時的 _type 值
ignore_older: "24h" # 超過 24 小時沒更新內容的文件不再監聽。在 windows 上另外有一個配置叫 force_close_files,只要文件名一變化立刻關閉文件句柄,保證文件可以被刪除,缺陷是可能會有日誌還沒讀完
scan_frequency: "10s" # 每 10 秒鐘掃描一次目錄,更新通配符匹配上的文件列表
tail_files: false # 是否從文件末尾開始讀取
harvester_buffer_size: 16384 # 實際讀取文件時,每次讀取 16384字節
backoff: "1s" # 每 1 秒檢測一次文件是否有新的一行內容需要讀取
paths:
- "/var/log/apache/*" # 可以使用通配符
exclude_files: ["/var/log/apache/error.log"]
-
input_type: "stdin" # 除了 "log",還有 "stdin"
multiline: # 多行合並
pattern: ‘^[[:space:]]‘
negate: false
match: after
output:
...
字段
Filebeat 發送的日誌,會包含以下字段:
beat.hostname
beat 運行的主機名beat.name
shipper 配置段設置的name
,如果沒設置,等於beat.hostname
@timestamp
讀取到該行內容的時間type
通過document_type
設定的內容input_type
來自 "log" 還是 "stdin"
source
具體的文件名全路徑offset
該行日誌的起始偏移量message
日誌內容fields
添加的其他固定字段都存在這個對象裏面
filebeat 配置文件參數