logstash文件读取间隔不起作用

时间:2015-03-15 15:42:42

标签: file logstash intervals

我对Logstash和Elasticsearch很新。 我有一个我无法配置的问题。 我的配置用于测试是在OS X + Kibana和Logstash上运行的2个EL节点。全部都有实际的稳定版本。

我正在使用logstash读取包含以下信息的日志:

64.12.89.186 {"register":"07-015", "tag":["Server1", "Proxy", "Web", "picture"], "comment":"texttext"}
149.174.107.97 {"register":"07-015", "tag":["Server1", "Proxy", "Web", "picture"], "comment":"texttext"}
149.174.110.102 {"register":"07-015", "tag":["Server1", "Proxy", "Web", "picture"], "comment":"texttext"}

并将它们写在EL中。 logstash中的配置文件是:

input {
    file {
        path => ["/scenario_02/data/ipinfo4_log"]
        stat_interval => 1
        discover_interval => 5
    }
}

filter {
    grok {
        match => { "message" => "%{IP:ip} %{GREEDYDATA:data}" }
    }
    json {
        source => "data"
    }
}
filter {
    geoip {
        source => "ip"
        target => "geoip"
    }
}

output {
  elasticsearch { host => localhost }
  stdout { codec => rubydebug }
}

到目前为止一切顺利。新信息将添加到日志文件的末尾。

现在我的问题:只有在我启动logstash时才会读取该文件。 在logstash运行期间在日志文件中获取新信息时,不会将新文档写入EL。 当我停止logstash并再次启动它。将添加日志文件中的新信息。

我是否理解错误,日志文件中的信息不会在间隔内自动添加或检查?或者我必须重新启动logstash再次读取文件?

非常感谢你的帮助。 巴黎

1 个答案:

答案 0 :(得分:0)

尝试: start_position => 'path =>之后的“结束” ......'。它可以提供帮助,但end是start_position的默认值。顺便说一句,如果你正在使用伐木工人?然后默认情况下将始终检查文件的新信息。