本文主要是介绍Logstash file插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
注:本文基于file plugin v4.1.16版本
file插件
file插件主要用于从文件读取数据,比如我们收集系统上/var/log/目录下一些文件,我们可以用以下配置
input {file {path => ["/var/log/*.log", "/var/log/message"]type => "system"start_position => "beginning"}
}
其中,
-
path
定义文件绝对路径,是个数组类型,可以定义多个输入文件,同时也可以使用通配符*。有一点需要注意的是,如果想要囊括/var/log下所有文件,包括子目录下的日志文件,可以通过以下方式,/var/log/**/*.log。通过两个通配符可以递归匹配所有目录下文件。 -
type
为该input所处理的所有事件添加type字段,主要用于激活过滤器。因为也是事件本身一部分,因此kibana中也可以搜索该字段。 -
start_position
指定logstash读取文件数据的起始位置,默认是结束位置,也就是以类似 tail -f 方式运行。如果要导入原有数据,需设置成 “beginning”。
除此之外,还有一些常用选项,
-
exclude
和path用法一致,用于排除某些不想被监听的文件,一样支持*通配符。 -
discover_interval
指定logstash检查被监听的path下是否有新文件的时间间隔,默认是15秒。 -
stat_interval
指定logstash检查被监听文件是否有更新的时间间隔,默认是1秒。 -
sincedb_path
Logstash使用FileWatch的Ruby Gem库来监听文件变化,这个库将被监听的日志文件的当前读取位置记录到.sincedb数据库文件中。默认位置/var/lib/logstash/plugins/inputs/file,可通过该配置修改sincedb文件存放位置。 -
sincedb_write_interval
指定logstash写sincedb文件的间隔,默认15秒。 -
close_older
监听文件超过该时间仍无更新,则关闭该文件句柄,默认1小时。
https://www.elastic.co/guide/en/logstash/current/input-plugins.html
这篇关于Logstash file插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!