重新设置Logstash状态

isa*_*zan 6 elasticsearch logstash

我目前正在开发中并使用以下配置作为logstash代理:

input {
  file {
    type => "access_log"

    # Wildcards work, here :)
    path => [ "/root/isaac/vuforia_logs/access_logs/gw_access_log.2014-02-19.00.log"]

    start_position => "beginning"
  }


} 

filter {
 if [type] == "access_log" {
  grok { 
    pattern  => "\[%{DATA:my_timestamp}\] %{IP:client} %{WORD:method} %{URIPATHPARAM:request} \[%{DATA:auth_data}\] \[%{DATA:another_timstamp}\] %{NUMBER:result_code} %{NUMBER:duration} %{NUMBER:bytes}"
  }
 }
}



output {
  stdout { debug => true }
  elasticsearch_http { 
        host => "192.168.79.128"
        }
Run Code Online (Sandbox Code Playgroud)

它第一次读取文件时,会处理它并登录到stdout和elasticsearch.问题是,当我重新启动logstash时,它没有做任何我认为是因为它保持上次停止logstash的最后位置.我很有兴趣重置logstash,以便从头开始重新处理文件.这是出于开发和测试的目的,有没有办法重置/清除logstash状态?

谢谢

Ben*_*Lim 9

Logstash将为输入文件记录sincedb.默认路径是$ HOME目录.您可以访问此处获取更多信息.

如果要重置/清除它,可以删除$ HOME中的所有.sincedb_*.然后当您重新启动logstash时,它将从头开始读取.