Logstash不读取文件输入

时间:2014-05-30 20:20:32

标签: file logging input elasticsearch logstash

我对Logstash有一个奇怪的问题。我提供了一个日志文件作为logstash的输入。配置如下:

input {
  file {
    type => "apache-access"
    path => ["C:\Users\spanguluri\Downloads\logstash\bin\test.log"]
  }
}
output {
  elasticsearch {
    protocol => "http"
    host => "10.35.143.93"
    port => "9200"
    index => "latestindex"
  }
}

我正在运行elasticsearch服务器并验证是否正在接收数据 卷曲查询。问题是,当输入为file时,没有收到任何数据。但是,如果我将输入更改为stdin { },则会顺利发送所有输入数据:

input {
  stdin{ }
}
output {
  elasticsearch {
    protocol => "http"
    host => "10.35.143.93"
    port => "9200"
    index => "latestindex"
  }
}

我不知道我哪里错了。有人可以看一下吗?

2 个答案:

答案 0 :(得分:8)

您应该在文件部分下设置start_position:

start_position => "beginning"

默认为结束,因此无法读取文件中的任何现有行,只读取新添加的行:

  

START_POSITION

Value can be any of: "beginning", "end"
Default value is "end"
     

选择Logstash最初开始读取文件的位置:开头   或者最后。默认行为处理文件,如实时流和   因此从最后开始。如果您要导入旧数据,请进行设置   这到'开始'

     

此选项仅修改文件所在的“第一次联系”情况   新的,以前没见过。如果之前已经看过一个文件,那么这个   选项无效。

答案 1 :(得分:1)

除了提供的答案之外,我还必须将路径从c:\ my \ path更改为c:/ my / path,以便它能够读取文件。