我有一个名为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。有效。
答案 0 :(得分:2)
如果您反复使用同一个文件进行测试,则会遇到" sincedb"问题 - 请参阅How to force Logstash to reparse a file?
您需要将sincedb_path => "/dev/null"
添加到文件输入中。通常,在生产场景中不需要这样做,但是在测试时就是这样。
答案 1 :(得分:0)
我找到了解决问题的方法,并找到了我们可以查看的内容,如果logstash& ES无法正常工作/沟通。 :
您还可以参考以下链接,获取有关此问题的帮助:
Cannot load index to elasticsearch from external file, using logstash