Filebeat6.3文档—Log input配置正则表达式
日志加载的路径.例如加载某一子目录级别下面路径的日志:/var/log/*/*.log
.这表示会去加载以.log结尾的/var/log下面的全部子目录,注意:这不包括/var/log
这一级目录.可在paths前面加(-),指定多个目录路径json
这个特性能够在路径后面跟随**
,表示加载这个路径下全部的文件,例如:/foo/**
,表示加载/foo,/foo/*,/foo/*/*
.这项特性默认是打开的,要关闭能够设置recursive_glob.enabled=false
数组
encdoing根据输入的文本设置缓存
用一个数组匹配FIlebeat排除的行并发
若是使用了multiline这个设置的话,每个multiline信息在被exclude_lines过滤以前都会被合并成一个简单行操作系统
下面这个例子表示,Filebeat会过滤掉全部的以DBG开头的行日志
filebeat.inputs: - type: log ... exclude_lines: ['^DBG']
和exclude_lines相反,Filebeat只会接受符合正则表达式的行code
下面这个例子表示Filebeat将导出以ERR或WARN开头的全部行对象
filebeat.inputs: - type: log ... include_lines: ['^ERR', '^WARN']
若是exclude_lines和include_lines都被定义了,那么Filebeat将先执行include_lines,而后再执行exclude_lines,二者没有顺序关系生命周期
下面这个例子表示Filebeat将导出全部包含sometext的列,可是除了以DBG开头的行
filebeat.inputs: - type: log ... include_lines: ['sometext'] exclude_lines: ['^DBG']
每一个harvester的缓存大小,默认是16384
单个日志消息能够发送的最大字节,这个设置对multiline特别管用,默认是10MB
设置实例
json.keys_under_root: true json.add_error_key: true json.message_key: log
默认状况下,解析的JSON位于输出文档中的“json”键下。若是启用此设置,则会在输出文档中将键复制到顶层。
若是启用了keys_under_root和此设置,则解码的JSON对象中的值将覆盖Filebeat一般添加的字段(类型,源,偏移等)以防发生冲突。
若是启用此设置,则Filebeat会在JSON解析错误或在配置中定义message_key但没法使用时添加“error.message”和“error.type:json”键
指定被过滤的行和multiline的key,若是指定了key,那么这个key必须在顶层,而且value必须是string类型, 要否则将不能被过滤或聚合分析
指定若是json解析错误是否应该被记日志,默认是false
将多行日志合并成一行
用正则表达式来匹配你想要Filebeat过滤的文件
下面这个例子表示,Filebeat会过滤以gz为扩展名的文件
filebeat.inputs: - type: log ... exclude_files: ['\.gz$']
Filebeat将忽略在指定的时间跨度以前修改的全部文件.例如,若是你想要在启动Filebeat的时候只发送最新的files和上周的文件,你就能够用这个设置
你可使用string类型的字符串表示例如2h(2 hours) and 5m(5 minutes),默认是0,
设置0和注释掉这个配置具备同样的效果
注意:你必须设置ignore_older大于close_inactive
两类文件会受此设置的影响
1.文件未被harvest
2.文件被harvest可是没有更新的时间超过ignore_older设置的时间
用来关闭harvester在设置某个标准或时间以后.若是某个文件在被harvester关闭后更新,那么这个文件会在scan_frequency过去以后将再次被handler.
启用此选项后,若是文件还没有在指定的持续时间内harvested,那么会关闭文件handler.定义期间的计时器从harvester读最后一个文件开始.若是这个被关闭的文件内容再次改变,那么在scal_frequency以后会再次被pick up
咱们推荐你设置这个值大于你频繁更新文件的时间,若是你更新log文件每几秒一次,那么你能够放心的设置close_inactive为1m,
若是设置这个值,Filebeat将会关闭文件处理当一个文件被更名了
给每一个harvester设定一个生命周期,若是超过这个设定的时间,那么Filebeat将会中止读取这个文件,若是这个文件依然在更新, 那么会开始一个新的harvester,并从新计时.设置close_timeout可使操做系统按期释放资源
若是你设置了close_timeout和ignore_older相等的时间,若是当harvester关闭后,这个文件被修改了,那么它也不会被pick up了.这一般会致使数据丢失. 若是正在处理multiline的时候close_timeout时间到了,那么可能只发送了部分文件.
Filebeat将在设定的时间事后移除掉文件的读取状态,若是在移除文件的读取状态后,文件再次被更新,那么这个文件将再次被读取
这个设置能够有效的减小文件注册表的大小,特别是在天天有大量新的文件生成的系统中
Filebeat将会从注册表中移除这些文件,若是这些文件不能再磁盘中被找到.若是某个文件消失了,而后再次出现,那么这个文件将会被从头开始读.默认开启
Filebeat检查指定用于读取的路径下的新文件的频率.咱们推荐不要设置这个值小于1s,避免Filebeat过于频繁的扫描.默认是10s
若是想要近实时发送日志文件,请不要使用很是小的scan_frequency,使用close_inactive可使文件持续的保持打开并不断的被轮询
若是设置了这个值为true,那么Filebeat将会从尾读取这个文件
定义了Filebeat在达到EOF后再次检查文件以前等待的时间,默认值已经符合大多数的场景,默认1s.
设置harvesters的并发量.默认设置为0,意思是没有作限制.若是设定了这个值, 意味着若是文件不少的话,并不会所有被托管,建议和close_*一块儿使用,这样能使新的文件被托管
使用标签可以在Filebeat输出的每一个事件中加入这个tags字段,这样可以被Kibana或Logstash轻松过滤
filebeat.inputs: - type: log . . . tags: ["json"]
能够向输出添加其余信息,例如能够加入一些字段过滤log数据
若是设定为true,那么自定义字段将存储为输出文档中的顶级字段,而不是在子字段下的分组.若是自定义的字段与其余字段冲突了,那么自定义的字段会覆盖其余字段