elasticsearch,logstash,Indexing,elasticsearch,Logstash" /> elasticsearch,logstash,Indexing,elasticsearch,Logstash" />

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

Indexing Logstash未将数据从外部文件写入elasticsearch,indexing,elasticsearch,logstash,Indexing,elasticsearch,Logstash,我有一个名为testfile.txt的示例文本文件,其中包含简单的“Hi”。我希望此数据在ElasticSearch上索引。我在logstash上运行以下命令: bin/logstash -f logstash-test.conf Conf文件内容如下: input{ file { path=> "/home/abhinav/ELK/logstash/testfile.txt" type => "test"

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

bin/logstash -f logstash-test.conf
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-0414:52:23082][INFO][cluster.service][Argo] 补充 {[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},},原因:zen disco接收(从加入) 节点[[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]{client=true, 数据=假}])

我试过以下几件事:


尝试使用简单标准输入(stdin)到ES n标准输出。成功了

如果重复使用同一文件进行测试,则会遇到“sincedb”问题——请参阅


您需要向文件输入中添加
sincedb\u path=>“/dev/null”
。通常情况下,在生产场景中不需要这样做,但在测试时需要这样做。

我已经找到了问题的解决方案,并且发现了一些可以检查的问题,如果日志存储和存储不正常工作/通信不正常:

  • 确保ES和Logstash安装正确
  • 安装的版本彼此兼容
  • 即使在测试时,也要尝试为不同的测试用例创建不同的Logstash conf文件,正如Alcanzar先生在上面的评论中所建议的那样
有关此问题的帮助,您也可以参考以下链接:


那么,你解决了自己的问题?如果是这样,请将解决方案作为答案发布。还没有!一旦我找到答案,我会在评论中发布。谢谢!你告诉我正确的概念。虽然添加sincedb路径这件事不起作用,但我做对了。我重新安装了ELK,然后尝试运行不同的conf文件,现在可以运行了。