elasticsearch没有从logstash.conf索引

时间:2016-01-12 17:14:01

标签: indexing elasticsearch logstash logstash-grok grok

我是elasticsearch的新手,这是我的logstash.conf文件

input {
   #stdin {}
  file {
    path => "/demo_logs/2015-12-14.txt"
    start_position => "beginning"
  }
}

filter {
     csv {
        columns => ["data_date", "ip", "method", "status", "time"]
        separator => ","
    }
}

output {
  elasticsearch {
        action => "index"
        hosts => "localhost"
        index => "logstash-%{+YYYY.MM.dd}"
        workers => 1
}
  stdout { codec => rubydebug }
}

我使用/ bin / logstach -f logstash.conf触发了conf文件 loggstash已启动,没有关于打开文件并在elasticsearch

中编入索引的过程

所以我只是注释了stdin {}以获取终端中的输入,如下所示

input{
       stdin {}
       #file {
        #path => "/demo_logs/2015-12-14.txt"
        #start_position => "beginning"
      #}
}

我再次运行conf文件并将值插入

  

2015-12-14 07:29:24.356302,127.0.0.1,get_names,exit,0:00:00.298635

显示错误为

Trouble parsing csv {:field=>"message", :source=>"", :exception=>#<NoMethodError: undefined method `each_index' for nil:NilClass>, :level=>:warn}

任何人都可以帮助这两件事从.txt文件成功执行logstash.conf文件并成功索引该.txt文件中的所有值。

我也尝试使用grok过滤器,但我无法制作它,如果它的grok过滤器对我来说也很棒

由于

1 个答案:

答案 0 :(得分:0)

这可能主要是因为您的数据包含空行。如果是日志文件,您可以在记事本++中打开它,然后转到编辑 - >行操作 - >删除空白行。希望这有帮助