Sam*_*ant 4 elasticsearch logstash kibana
管理以获取logstash(1.3.1)以将数据发送到elasticsearch(0.9.5).
我的logstash conf文件设置是
input {
file {
path => ["D:/apache-tomcat-7.0.5/logs/*.*"]
}
}
output {
stdout { }
elasticsearch_http {
host => "localhost"
port => 9200
}
}
Run Code Online (Sandbox Code Playgroud)
数据存储在索引logstash-2013.12.xx下的ES中
但是,如果我重新启动logstash,让我们说第二天 - 将相同的数据重新加载到新索引中.即使我再次重新启动,文档计数也会在索引中翻倍.
似乎logstash重新读取数据,ES也复制文档.
有没有办法不在logstash中重新加载或不在ES中重复或同时执行.
小智 9
我也使用Logstash 1.3.3来解决这个问题.关于Logstash Jira的相关错误报告是LOGSTASH-429文件输入 - .sincedb文件在Windows上被破坏.Boyd Meier也创建了一个补丁.
这个补丁也已被拉入Jordan Sissel的ruby-filewatch git存储库,以便包含在更高版本中,但它还没有进入.
问题来自使用文件inode的Logstash,该文件始终在Windows上返回0.Boyd Meier使用文件ID获取文件的标识符以绕过该问题.在从卷中删除文件之前,此文件ID保持不变.
如果你很乐意做一些补丁,你可以从Jordan Sissel的ruby-filewatch git存储库中修改.对于我刚刚修补的1.3.3,我正在测试测试日志文件的过程中,步骤如下:
require "java/JRubyFileExtension.jar" if defined? JRUBY_VERSION
现在,当您针对多个日志文件运行它时,您会发现sincedb包含多个条目,条目显示类似于1717916447-2604966-851968 0 2 428312038.如果您在查找sincedb文件时遇到问题并且未设置sincedb_path在配置文件中,可以在运行jar的用户的主目录中找到它.如果这是您的用户,您可以使用Windows键+运行 - >%USERPROFILE% - >确定轻松访问它.
在部署到生产系统之前,一定要仔细进行修补和测试.
归档时间: |
|
查看次数: |
3802 次 |
最近记录: |