logstash之input配置file类型详解

2018-04-28 13:07:30 浏览数 (1)

代码语言:javascript复制
监听文件变化,记录一个.sincedb的数据库文件跟踪监听文件读取位置(记录的是时间戳)

配置案例
input {
 file {
 path => ["/data/test/test/*.log"]
 type => "demo-log"
 start_position => "beginning"
 }
}
output {
 stdout{
 codec=>rubydebug
 }
}
检查配置
bin/logstash -f /etc/logstash/conf.d/demo.conf -t
启动
bin/logstash -f /etc/logstash/conf.d/demo.conf
测试
在/data/test/test/目录建立1.log文件,然后执行
echo `date` >> /data/test/test/1.log
观察
{
          "path" => "/data/test/test/1.log",
    "@timestamp" => 2017-06-12T06:43:15.742Z,
      "@version" => "1",
          "host" => "192-168-56-201",
       "message" => "Mon Jun 12 06:43:15 UTC 2017",
          "type" => "demo-log"
}

配置说明
path 	监听文件绝对路径,可以使用字符串或数组
excude 	排除不监听的文件,可以使用字符串或者数组
type 	事件添加分类字段 
start_position 	只能是"beginning"或者"end",默认是end,end类似tail -f;beginning是从文件开头开始(导入历史数据)
stat_interval 	每隔多久检查一次文件变化,默认1s
add_field		新增一个字段
tags			用于增加一些标签,这个标签可能在后续的处理中起到标志的作用
delimiter		分行标识
discover_interval 每隔多久检查是否有新文件,默认15s
close_older		如果监听的文件达到设置的时间内未改动则关闭文件句柄,默认3600
ignore_older	在每次检查文件列表的时候,如果一个文件的最后修改时间超过这个值,就忽略这个文件。默认是 86400 秒
sincedb_path	记录读取文件位置
sincedb_write_interval	每隔多久写入读取文件位置信息,默认15s  

0 人点赞