Logstash自定义插件-无法在Logstash中创建到Neo4j的会话



我有一个自定义插件的问题,不知道该去哪里。

我正在构建一个自定义的Logstash输出插件来构建我们的Neo4j模型。使用Logstash中包含的jruby从外部运行代码,我可以创建到服务器的会话。如果作为插件运行,我最终会出现一个未定义的方法错误。

undefined method graph_db' for #<Neo4j::Server::CypherSession:0x3922b0a5>

http://pastebin.com/kV5rHxpF

/opt/logstash/bin/logstash version
logstash 2.1.1

Neo4j社区版本2.3.1

Ruby Gem(使用具有类似行为的早期版本进行了测试)neo4j-6.0.4

我可以用下面的插件代码生成错误。

require "logstash/outputs/base"
require "logstash/namespace"
require 'neo4j'
class LogStash::Outputs::neo4jGraph < LogStash::Outputs::Base
config_name "neo4jgraph"
def register
@session = Neo4j::Session.open(:server_db,"http://localhost:7474", basic_auth: { username: "", password: "" })
end
def receive(event)
end
end

我能找到什么想法或方向吗?

谢谢!

因为您使用的是jRuby,所以neo4j-core gem假设您希望使用嵌入式模式而不是服务器模式。我们应该找到更好的方法来解决这个问题,但目前如果您使用值为trueWITHOUT_NEO4J_EMBEDDED环境变量,它应该加载正确的文件并解决您的问题。

编辑:

仅供参考,我提出了一个提取请求,希望这能更容易:https://github.com/neo4jrb/neo4j-core/pull/244

相关内容

  • 没有找到相关文章

最新更新