1. 程式人生 > >filebeat 配置文件參數

filebeat 配置文件參數

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 配置文件參數