【问题标题】:Logstash not writing data from external file to elasticsearchLogstash 未将数据从外部文件写入弹性搜索
【发布时间】:2015-05-04 12:14:01
【问题描述】:

我有一个名为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] 添加 {[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{client=真的, data=false},},原因:zen-disco-receive(join from 节点[[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{客户端=真, 数据=假}])

我尝试了以下方法:

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

【问题讨论】:

  • 那么,您自己的问题解决了吗?如果是这样,请将解决方案作为答案发布。
  • 还没有!找到答案后,我会在 cmets 中发布答案。

标签: indexing elasticsearch logstash


【解决方案1】:

如果您重复使用同一个文件进行测试,您将遇到“sincedb”问题——请参阅How to force Logstash to reparse a file?

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

【讨论】:

  • 谢谢!你告诉我正确的概念。虽然这件事,添加 sincedb path 没有用,但我做对了。我重新安装了 E L K ,然后尝试运行不同的 conf 文件并且它现在可以工作了。
【解决方案2】:

如果logstash 和ES 无法正常工作/通信,我已经找到了我的问题的解决方案,并且还找到了我们可以检查的内容。 :

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

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

Cannot load index to elasticsearch from external file, using logstash

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

【讨论】:

    猜你喜欢
    • 2015-03-16
    • 2023-03-16
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-24
    • 2018-05-07
    相关资源
    最近更新 更多