我有一个带有依赖模块的ruby文件,该文件在logstash管道中被调用。即。。。
filter{
ruby {
path => "/path/to/script.rb"
}
}
我得到一个错误,当通过运行脚本的pod中的logstash管道调用脚本时,找不到它们。
如何或在哪里安装这些?我能跑吗"gem安装我的gem";在管道中的某个地方,或者你将如何完成这项工作?
目前还没有安装gem的官方方法(至少(。然而,可能有几个选择:
-
您可以向
/usr/share/logstash/Gemfile
添加一个Gem,然后像往常一样在脚本中使用它们。显然,这可能有点古怪,因为logstash的更新可能需要重新安装gem。 -
编写一个自定义插件,但对于你可能想要的东西来说,这可能是一种过度的做法。
-
正如下面链接的票证的作者所说,您可以:将Gem添加到位于
/usr/share/logstash/Gemfile
的logstash的Gemfile中,通过运行/usr/share/logstash/bin/logstash-plugin update logstash-filter-grok
强制执行Gem更新,然后在Ruby过滤器中使用它。有关更多详细信息,请参阅下面的票证。
注意:此答案使用此票证中引用的信息:
https://github.com/elastic/logstash/issues/7016
希望能有所帮助。