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 |