Logstash不会将数据从外部文件写入elasticsearch

时间:2015-05-04 12:14:02

标签: indexing elasticsearch logstash

我有一个名为testfile.txt的示例文本文件,其中包含简单的“Hi”。我希望这些数据能够在ElasticSearch上编入索引。我在logstash上运行以下命令:

bin/logstash -f logstash-test.conf

Conf File内容如下:

input{
    file
        {
            path=> "/home/abhinav/ELK/logstash/testfile.txt"
            type => "test"
            start_position => "beginning"
        }
     }
output{
     elasticsearch { host => localhost 
             index => "test_index"
               }
     stdout { codec => rubydebug } 
      }

ElasticSearch Log显示以下错误:

  

[2015-05-04 14:52:23,082] [INFO] [cluster.service] [Argo]   添加   {[logstash-阿比纳夫-HP-15-笔记本-PC-10919-4006] [CPk1djqFRnO-J-DlUMJIzg] [阿比纳夫-HP-15-笔记本PC] [INET [/192.168.1.2:9301]] {客户=真正,   data = false},},reason:zen-disco-receive(join from   节点[[logstash-阿比纳夫-HP-15-笔记本-PC-10919-4006] [CPk1djqFRnO-J-DlUMJIzg] [阿比纳夫-HP-15-笔记本PC] [INET [/192.168.1.2:9301]] {客户= TRUE,   数据=假}])

我尝试了以下事项:

尝试使用简单的std输入(stdin)到ES n stdout。有效。

2 个答案:

答案 0 :(得分:2)

如果您反复使用同一个文件进行测试,则会遇到" sincedb"问题 - 请参阅How to force Logstash to reparse a file?

您需要将sincedb_path => "/dev/null"添加到文件输入中。通常,在生产场景中不需要这样做,但是在测试时就是这样。

答案 1 :(得分:0)

我找到了解决问题的方法,并找到了我们可以查看的内容,如果logstash& ES无法正常工作/沟通。 :

  • 确保ES& Logstash已正确安装
  • 安装的版本彼此兼容
  • 即使在测试时,也要尝试为不同的测试用例制作不同的Logstash配置文件,正如Alcanzar先生在上述评论中所建议的那样。

您还可以参考以下链接,获取有关此问题的帮助:

Cannot load index to elasticsearch from external file, using logstash

https://logstash.jira.com/browse/LOGSTASH-1800