Filebeat的⾼级配置-Filebeat部分
在Filebeat安装完成准备使⽤前,最好先对Filebeat进⾏⼀些详细的配置再使⽤,下⾯来详细讲解⼀下相关内容。
Filebeat的配置⽂件是/etc/l,遵循YAML语法。具体可以配置如下⼏个项⽬:
Filebeat
Output
Shipper
Logging(可选)
Run Options(可选)
这个Blog主要讲解Filebeat的配置部分,其他部分后续会有新的Blog介绍。
Filebeat的部分主要定义prospector的列表,定义监控哪⾥的⽇志⽂件,关于如何定义的详细信息可以参考l中的注释,下⾯主要介绍⼀些需要注意的地⽅。
paths:指定要监控的⽇志,⽬前按照Go语⾔的glob函数处理。没有对配置⽬录做递归处理,⽐如配置的如果是:
/var/log/* /*.log
则只会去/var/log⽬录的所有⼦⽬录中寻以”.log”结尾的⽂件,⽽不会寻/var/log⽬录下以”.log”结尾的⽂件。
encoding:指定被监控的⽂件的编码类型,使⽤plain和utf-8都是可以处理中⽂⽇志的。
input_type:指定⽂件的输⼊类型log(默认)或者stdin。
exclude_lines:在输⼊中排除符合正则表达式列表的那些⾏。
box sizinginclude_lines:包含输⼊中符合正则表达式列表的那些⾏(默认包含所有⾏),include_lines执⾏完毕之后会执⾏exclude_lines。
exclude_files:忽略掉符合正则表达式列表的⽂件(默认为每⼀个符合paths定义的⽂件都创建⼀个harvester)。
fields:向输出的每⼀条⽇志添加额外的信息,⽐如“level:debug”,⽅便后续对⽇志进⾏分组统计。默认情况下,会在输出信息的fields ⼦⽬录下以指定的新增fields建⽴⼦⽬录,例如fields.level。
fields:
level: debug
则在Kibana看到的内容如下:
fields_under_root:如果该选项设置为true,则新增fields成为顶级⽬录,⽽不是将其放在fields⽬录下。⾃定义的field会覆盖filebeat默认的field。例如添加如下配置:
fields:
level: debug
fields_under_root: true
则在Kibana看到的内容如下:
ignore_older:可以指定Filebeat忽略指定时间段以外修改的⽇志内容,⽐如2h(两个⼩时)或者5m(5分钟)。
close_older:如果⼀个⽂件在某个时间段内没有发⽣过更新,则关闭监控的⽂件handle。默认1h,change只会在下⼀次scan才会被发现
force_close_files:Filebeat会在没有到达close_older之前⼀直保持⽂件的handle,如果在这个时间窗内删除⽂件会有问题,所以可以把force_close_files设置为true,只要filebeat检测到⽂件名字发⽣变化,就会关掉这个handle。
scan_frequency:Filebeat以多快的频率去prospector指定的⽬录下⾯检测⽂件更新(⽐如是否有新增⽂件),如果设置为0s,则Filebeat会尽可能快地感知更新(占⽤的CPU会变⾼)。默认是10s。
document_type:设定Elasticsearch输出时的document的type字段,也可以⽤来给⽇志进⾏分类。
harvester_buffer_size :每个harvester 监控⽂件时,使⽤的buffer 的⼤⼩。
max_bytes :⽇志⽂件中增加⼀⾏算⼀个⽇志事件,max_bytes 限制在⼀次⽇志事件中最多上传的字节数,多出的字节会被丢弃。multiline :适⽤于⽇志中每⼀条⽇志占据多⾏的情况,⽐如各种语⾔的报错信息调⽤栈。这个配置的下⾯包含如下配置:
tail_files :如果设置为true ,Filebeat 从⽂件尾开始监控⽂件新增内容,把新增的每⼀⾏⽂件作为⼀个事件依次发送,⽽不是从⽂件开始处重新发送所有内容。
backoff :Filebeat 检测到某个⽂件到了EOF 之后,每次等待多久再去检测⽂件是否有更新,默认为1s 。
max_backoff :Filebeat 检测到某个⽂件到了EOF 之后,等待检测⽂件更新的最⼤时间,默认是10秒。
backoff_factor :定义到达max_backoff 的速度,默认因⼦是2,到达max_backoff 后,变成每次等待max_backoff 那么长的时间才backoff ⼀次,直到⽂件有更新才会重置为backoff
。⽐如:
如果设置成1,意味着去使能了退避算法,每隔backoff 那么长的时间退避⼀次。
spool_size:spooler 的⼤⼩,spooler 中的事件数量超过这个阈值的时候会清空发送出去(不论是否到达超时时间)。
idle_timeout:spooler 的超时时间,如果到了超时时间,spooler 也会清空发送出去(不论是否到达容量的阈值)。
registry_file:记录filebeat 处理⽇志⽂件的位置的⽂件
config_dir:如果要在本配置⽂件中引⼊其他位置的配置⽂件,可以写在这⾥(需要写完整路径),但是只处理prospector 的部分。publish_async
:是否采⽤异步发送模式(实验功能)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论