1. input配置段
|
filebeat.prospectors: |
|---|
|
每一個prospectors,起始於一個破折號”-“ |
|
- input_type: log |
|
#默認log,從日志文件讀取每一行。stdin,從標准輸入讀取 |
|
paths: - /var/log/*.log |
|
#日志文件路徑列表,可用通配符,不遞歸 |
|
encoding: plain |
|
#編碼,默認無,plain(不驗證或者改變任何輸入), latin1, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk, hz-gb-2312, euc-kr, euc-jp, iso-2022-jp, shift-jis |
|
include_lines: [‘^ERR’, ‘^WARN’] |
|
匹配行,后接一個正則表達式列表,默認無,如果啟用,則filebeat只輸出匹配行,如果同時指定了多行匹配,仍會按照include_lines做過濾 |
|
exclude_lines: [“^DBG”] |
|
排除行,后接一個正則表達式的列表,默認無 |
|
排除文件,后接一個正則表達式的列表,默認無 |
|
ignore_older: 5m |
|
#排除更改時間超過定義的文件,時間字符串可以用2h表示2小時,5m表示5分鍾,默認0 |
|
document_type: log |
|
#該type會被添加到type字段,對於輸出到ES來說,這個輸入時的type字段會被存儲,默認log |
|
scan_frequency: 10s |
|
#prospector掃描新文件的時間間隔,默認10秒 |
|
max_bytes: 10485760 |
|
#單文件最大收集的字節數,單文件超過此字節數后的字節將被丟棄,默認10MB,需要增大,保持與日志輸出配置的單文件最大值一致即可 |
|
multiline.pattern: ^[ |
|
#多行匹配模式,后接正則表達式,默認無 |
|
multiline.negate: false |
|
多行匹配模式后配置的模式是否取反,默認false |
|
multiline.match: after |
|
#定義多行內容被添加到模式匹配行之后還是之前,默認無,可以被設置為after或者before |
|
multiline.max_lines: 500 |
|
#單一多行匹配聚合的最大行數,超過定義行數后的行會被丟棄,默認500 |
|
multiline.timeout: 5s |
|
#多行匹配超時時間,超過超時時間后的當前多行匹配事件將停止並發送,然后開始一個新的多行匹配事件,默認5秒 |
|
tail_files: false |
|
#可以配置為true和false。配置為true時,filebeat將從新文件的最后位置開始讀取,如果配合日志輪循使用,新文件的第一行將被跳過 |
|
close_renamed: false |
|
#當文件被重命名或被輪詢時關閉重命名的文件處理。注意:潛在的數據丟失。請務必閱讀並理解此選項的文檔。默認false |
|
close_removed: true |
|
#如果文件不存在,立即關閉文件處理。如果后面文件又出現了,會在scan_frequency之后繼續從最后一個已知position處開始收集,默認true |
|
enabled: true |
|
#每個prospectors的開關,默認true |
|
filebeat.spool_size: 2048 |
|
#后台事件計數閾值,超過后強制發送,默認2048 |
|
filebeat.idle_timeout: 5s |
|
#后台刷新超時時間,超過定義時間后強制發送,不管spool_size是否達到,默認5秒 |
|
filebeat.registry_file: ${path.data}/registry |
|
#注冊表文件,同logstash的sincedb,記錄日志文件信息,如果使用相對路徑,則意味着相對於日志數據的路徑 |
|
filebeat.config_dir: |
|
#定義filebeat配置文件目錄,必須指定一個不同於filebeat主配置文件所在的目錄,目錄中所有配置文件中的全局配置會被忽略 |
2. 通用配置段
|
name: |
|---|
|
#配置發送者名稱,如果不配置則使用hostname |
|
tags: [“service-X”, “web-tier”] |
|
#標記tag,可用於分組 |
|
fields: |
|
#添加附件字段,可以使values,arrays,dictionaries或者任何嵌套數據 |
|
queue_size: 1000 |
|
#處理管道中單個事件內的隊列大小,默認1000 |
|
max_procs: |
|
#設置最大CPU數,默認為CPU核數 |
3. output.elasticsearch
|
enabled: true |
|---|
|
#啟用模塊 |
|
hosts: [“localhost:9200”] |
|
#ES地址 |
|
compression_level: 0 |
|
#gzip壓縮級別,默認0,不壓縮,壓縮耗CPU |
|
worker: 1 |
|
#每個ES的worker數,默認1 |
|
index: “filebeat-%{+yyyy.MM.dd}” |
|
#可選配置,ES索引名稱,默認filebeat-%{+yyyy.MM.dd} |
|
pipeline: “” |
|
#可選配置,輸出到ES接收節點的pipeline,默認無 |
|
path: “/elasticsearch” |
|
#可選的,HTTP路徑,默認無 |
|
proxy_url: http://proxy:3128 |
|
#http代理服務器地址,默認無 |
|
max_retries: 3 |
|
#ES重試次數,默認3次,超過3次后,當前事件將被丟棄 |
|
bulk_max_size: 50 |
|
#對一個單獨的ES批量API索引請求的最大事件數,默認50 |
|
timeout: 90 |
|
#到ES的http請求超時時間,默認90秒 |
4. output.logstash
|
enabled: true |
|---|
|
#啟用模塊 |
|
hosts: [“localhost:5044”] |
|
#logstash地址 |
|
worker: 1 |
|
#每個logstash的worker數,默認1 |
|
compression_level: 3 |
|
#壓縮級別,默認3 |
|
loadbalance: true |
|
#負載均衡開關,在不同的logstash間負載 |
|
pipelining: 0 |
|
#在處理新的批量期間,異步發送至logstash的批量次數 |
|
index: ‘filebeat’ |
|
#可選配置,索引名稱,默認為filebeat |
|
proxy_url: socks5://user:password@socks5-server:2233 |
|
#socks5代理服務器地址 |
|
proxy_use_local_resolver: false |
|
#使用代理時是否使用本地解析,默認false |
5. output.redis
|
enabled: true |
|---|
|
#啟用模塊 |
|
hosts: [“localhost:6379”] |
|
#logstash地址 |
|
worker: 1 |
|
#redis地址,地址為一個列表,如果loadbalance開啟,則負載到里表中的服務器,當一個redis服務器不可達,事件將被分發到可到達的redis服務器 |
|
port: 6379 |
|
#redis端口,如果hosts內未包含端口信息,默認6379 |
|
key: filebeat |
|
#事件發布到redis的list或channel,默認filebeat |
|
password: |
|
#redis密碼,默認無 |
|
db: 0 |
|
#redis的db值,默認0 |
|
datatype: list |
|
#發布事件使用的redis數據類型,如果為list,使用RPUSH命令(生產消費模式)。如果為channel,使用PUBLISH命令{發布訂閱模式}。默認為list |
|
worker: 1 |
|
#為每個redis服務器啟動的工作進程數,會根據負載均衡配置遞增 |
|
loadbalance: true |
|
#負載均衡,默認開啟 |
|
timeout: 5s |
|
#redis連接超時時間,默認5s |
|
max_retries: 3 |
|
#filebeat會忽略此設置,並一直重試到全部發送為止,其他beat設置為0即忽略,默認3 |
|
bulk_max_size: 2048 |
|
#對一個redis請求或管道批量的最大事件數,默認2048 |
|
proxy_url: |
|
#socks5代理地址,必須使用socks5:// |
|
proxy_use_local_resolver: false |
|
#使用代理時是否使用本地解析,默認false |
6. Paths配置段
|
path.home: |
|---|
|
filebeat安裝目錄,為其他所有path配置的默認基本路徑,默認為filebeat二進制文件的本地目錄 |
|
path.config: ${path.home} |
|
#filebeat配置路徑,主配置文件和es模板的默認基本路徑,默認為filebeat家目錄 |
|
path.data: ${path.home}/data |
|
#filebeat數據存儲路徑,默認在filebeat家目錄下 |
|
path.logs: ${path.home}/logs |
|
#filebeat日志存儲路徑,默認在filebeat家目錄下 |
7. logging配置段
- 有3個可配置的filebeat日志輸出選項:syslog,file,stderr
- windows默認輸出到file
|
logging.level: info |
|---|
|
#設定日志級別,可設置級別有critical, error, warning, info, debug |
|
logging.selectors: [ ] |
|
#開啟debug輸出的選擇組件,開啟所有選擇使用[“*”],其他可用選擇為”beat”,”publish”,”service” |
|
logging.to_syslog: true |
|
#輸出所有日志到syslog,默認為false |
|
logging.metrics.enabled: true |
|
#定期記錄filebeat內部性能指標,默認true |
|
logging.metrics.period: 30s |
|
#記錄內部性能指標的周期,默認30秒 |
|
logging.to_files: true |
|
#輸出所有日志到file,默認true |
|
logging.files: |
|
#日志輸出的文件配置 |
|
path: /var/log/filebeat |
|
#配置日志輸出路徑,默認在家目錄的logs目錄 |
|
name: |
|
#filebeat #日志文件名 |
|
rotateeverybytes: 10485760 |
|
#日志輪循大小,默認10MB |
|
keepfiles: 7 |
|
#日志輪循文件保存數量,默認7 |
