Filebeat 的設定檔為 filebeat.yml,可以設定資料的輸入與輸出,以及其它細項設定。
像是設定資料的輸入,可以指定要輸入的 Log 檔位置。
1 | filebeat.prospectors: |
可以設定 Log 資料要怎樣切割傳送,像是若使用 Log4Net 去記錄 Log,不特別調整格式的話 Log 前面一定會有 Log 的時間,就可以以 Log 時間當作切割傳送的依據。
1 | filebeat.prospectors: |
可以設定多久以前的 Log 不要傳送,這設定在 Log 檔很多時特別重要,不做這設定可能會傳送過多的 Log,導致記憶體吃過凶。
1 | filebeat.prospectors: |
可設定資料的輸出,以送到 Logstash 為例,可以設定 Logstash 位置、每個 Logstash 要用幾個 worker 處理、資料壓縮的等級、是否負載平衡、及 Index 等。
1 | output.logstash: |
也可以設定 Filebeat 的 Log,設定是否寫到檔案、檔案位置…等。
1 | # Logging to rotating files files. Set logging.to_files to false to disable logging to |
完整的設定範例如下:
1 | ##################$$$###### Filebeat Configuration ############################ |
如果資料可能有多個輸入,設定這邊可用上述介紹的方式撰寫,只要設定多組 paths。但若想更好維護與管理,建議是使用 filebeat.config_dir 來將設定做個切分。
像是在 filebeat.yml 設定檔中保留輸出與 Filebeat Log 的設定,並在上面用 config_dir 設定其它設定檔存放的位置。
1 | filebeat.config_dir: configs |
將輸入的設定部份移至所設定的目錄內即可。

1 | ##################$$$###### Filebeat Configuration ############################ |
若欲得知更多詳細的設定,請參閱 Configuring Filebeat | Filebeat Reference [5.3] | Elastic。