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

Logstash not writing data from external file to elasticsearch

我有一个名为 testfile.txt 的示例文本文件,其中包含简单的 "Hi"。我希望此数据在 ElasticSearch 上建立索引。我 运行 在 logstash 上执行以下命令:

bin/logstash -f logstash-test.conf

配置文件内容如下:

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 日志显示以下错误:

[2015-05-04 14:52:23,082][INFO ][cluster.service ] [Argo] added {[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{client=true, data=false},}, reason: zen-disco-receive(join from node[[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{client=true, data=false}])

我尝试了以下操作:

尝试使用简单的标准输入(标准输入)到 ES n 标准输出。有效。

如果您重复使用同一个文件进行测试,您将 运行 陷入 "sincedb" 问题 -- 请参阅 How to force Logstash to reparse a file?

您需要将 sincedb_path => "/dev/null" 添加到您的文件输入中。一般生产场景不需要,但是测试的时候需要。

我找到了解决我的问题的方法,并且还找到了我们可以检查的东西,如果 logstash 和 ES 没有 working/communicating 正确。 :

  • 确保正确安装了 ES 和 Logstash
  • 安装的版本相互兼容
  • 即使在测试时,也请按照 Alcanzar 先生在上述评论中的建议,尝试为不同的测试用例制作不同的 Logstash conf 文件。

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

Cannot load index to elasticsearch from external file, using logstash

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