elasticsearch logstash&x2B;elasticsearch:重新加载相同的数据
设法获取logstash(1.3.1)以向elasticsearch(0.9.5)发送数据 我的日志存储配置文件设置为elasticsearch logstash&x2B;elasticsearch:重新加载相同的数据,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,设法获取logstash(1.3.1)以向elasticsearch(0.9.5)发送数据 我的日志存储配置文件设置为 input { file { path => ["D:/apache-tomcat-7.0.5/logs/*.*"] } } output { stdout { } elasticsearch_http { host => "localhost" port => 9200 } } 数据存储在索引lo
input {
file {
path => ["D:/apache-tomcat-7.0.5/logs/*.*"]
}
}
output {
stdout { }
elasticsearch_http {
host => "localhost"
port => 9200
}
}
数据存储在索引logstash-2013.12.xx下的ES中
但是,如果我重新启动logstash,比如说第二天——相同的数据会重新加载到新的索引中。即使重新启动,索引中的文档计数也会加倍
似乎logstash在重新读取数据,ES也在复制文档
有没有办法不在logstash中重新加载或在ES中不复制,或者两者都做。我在logstash 1.3.3中也遇到了这个问题。Logstash Jira的相关错误报告如下所示。还有一个补丁由Boyd Meier创建 这个补丁也被拉到了Jordan Sissel的ruby filewatch git存储库中,以便包含在更高版本中,但它还没有发布 问题来自使用文件inode的Logstash,该文件inode在Windows上始终返回0。Boyd Meier使用文件ID获取文件的标识符以绕过该问题。在从卷中删除文件之前,此文件id保持不变 如果您愿意做一些修补,您可以从Jordan Sissel的ruby filewatch git存储库中修补更改。对于我刚刚修补的1.3.3,我正在对测试日志文件进行测试,步骤如下:
require“java/JRubyFileExtension.jar”的引用,如果已定义?JRUBY_版本
在部署到生产系统之前,始终要小心进行修补和彻底测试。Logstash通常会保存一个
.sincedb
文件来跟踪文件进度。也许可以尝试运行-v
,看看是否有什么问题。它对sincedb的路径有写权限吗?您可以尝试手动指定sincedb路径,这样您就可以对其进行更多的控制。哦,这个错误可能也与此相关,因为您看起来是在Windows上:@Rutter感谢您的参考和回复。是的,我在Windows上试过这个。但是,使用logstash 1.3.1。。希望一切都修好了!看起来ES/Logstash仍然存在一些基本问题。可能会在linux上试用并查看。谢谢你的帮助!这看起来不像在1.4.0版中已经修复(根据错误记录)。是吗?是的,1.4.0也需要这个补丁。对我来说,唯一的区别是logstash没有打包在jar中,所以我只是将所有filewatch*.rb文件替换为补丁文件(添加了一个新文件winhelper.rb),并且必须将“java”文件夹放入“lib”,这样“require”java/JRubyFileExtension.jar”行就可以工作了。在1.4.2中仍然没有修复。我正在认真考虑用Java来完成整个过程,这个过程充满了bug。jlogstash:-)@TonyBenBrahim我没有看到Logstash 1.4.2的重复数据。win8 x64,将日志存储作为服务或在命令行上,start\u position=>“start”
,不指定createdb路径。当我停止/启动logstash时,它不会重新加载此bug的相同dataLast状态:。总结:第三个库已经修复(filewatch v0.6.1已发布),但LogStash 1.4仍保留v0.5。等待logStash释放。