elasticsearch logstash&x2B;elasticsearch:重新加载相同的数据,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch logstash&x2B;elasticsearch:重新加载相同的数据,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

elasticsearch logstash&x2B;elasticsearch:重新加载相同的数据

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

设法获取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
   }
 }
数据存储在索引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,我正在对测试日志文件进行测试,步骤如下:

  • 从Github下载ruby filewatch zip文件:
  • 将下载的zip文件解压缩到新目录
  • 我必须对Ruby filewatch\lib\filwatch\tail.rb进行更改 文件->第10行,内容为“JRubyFileExtension.jar”。我有 更改为需要“java/JRubyFileExtension.jar”,否则我 收到一个错误,当 正在尝试读取文件。对于使整行显示为:
    require“java/JRubyFileExtension.jar”的引用,如果已定义?JRUBY_版本
  • 在7-Zip中打开logstash-1.3.3-flatjar.jar文件
  • 将java目录从ruby filewatch拖放到根目录中 7-Zip中的文件夹
  • 拖放ruby filewatch\lib\filewatch中的所有文件 文件夹放入7-Zip格式的filewatch文件夹,覆盖任何现有 档案
  • 现在,当您对多个日志文件运行它时,您应该会发现sincedb包含多个条目,这些条目看起来类似于1717916447-2604966-851968 0 2 428312038。如果您在查找sincedb文件时遇到问题,并且没有在配置文件中设置sincedb_路径,那么可以在运行jar的用户的主目录中找到它。如果这是您的用户,您可以使用Windows key+Run->%USERPROFILE%->OK轻松访问它


    在部署到生产系统之前,始终要小心进行修补和彻底测试。

    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释放。