用于Logstash的Java过滤器

时间:2015-09-03 08:28:46

标签: java ruby logstash logstash-configuration logstash-file

你知道如何使用Logstash的Ruby过滤器,这使我能够在Ruby中编写代码,它通常包含在配置文件中,如下所示

filter {
      ruby {
           code => "...."
      }
}

现在我有两个Jar文件,我想包含在我的过滤器中,以便我可以根据我在这些Jar文件中的操作处理我的输入。但是,我不能(显然)在ruby代码中包含Jar文件。我一直在寻找解决方案。

2 个答案:

答案 0 :(得分:0)

为了回答这个问题,我从Elastc.co找到了这个精彩的教程:

显示创建新gem的步骤,并稍后将其用作Logstash的过滤器。

https://www.elastic.co/guide/en/logstash/current/_how_to_write_a_logstash_filter_plugin.html

答案 1 :(得分:0)

Orrr回答你原来的问题,

可以在你的ruby代码中包含一个JAR,但是你需要使用jruby,

请参阅此处有关如何从JRuby中的JAR访问Java代码的说明:

https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby#from-jar-files

  

要在JRuby的jar文件中使用资源,jar文件必须   要么在类路径上,要么在需要时可用   方法:

     

require 'path/to/mycode.jar'这需要使资源进入   mycode.jar可以被后来的命令import和}发现   include_package

     

请注意,通过$LOAD_PATH上的搜索来加载jar文件   对于他们来说,就像普通的红宝石文件一样。