Logstash 自定义插件 - 无法在 Logstash 中创建与 Neo4j 的会话
Logstash Custom Plugin - Unable to create session to Neo4j within Logstash
我在使用自定义插件时遇到问题,不知道该去哪里。
我正在构建自定义 Logstash 输出插件来构建我们的 Neo4j 模型。 运行 Logstash 中包含 jruby 的外部代码,我可以毫无问题地创建到我们服务器的会话。如果 运行 作为插件,我最终会遇到未定义的方法错误。
undefined method graph_db' for #<Neo4j::Server::CypherSession:0x3922b0a5>
/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 假设您要使用嵌入式模式而不是服务器模式。我们应该找到一个更好的方法来解决这个问题,但目前如果您使用 WITHOUT_NEO4J_EMBEDDED
环境变量和值 true
,它应该加载正确的文件并解决您的问题。
编辑:
仅供参考,我已经提出了一个拉取请求,希望这会更容易:https://github.com/neo4jrb/neo4j-core/pull/244
我在使用自定义插件时遇到问题,不知道该去哪里。
我正在构建自定义 Logstash 输出插件来构建我们的 Neo4j 模型。 运行 Logstash 中包含 jruby 的外部代码,我可以毫无问题地创建到我们服务器的会话。如果 运行 作为插件,我最终会遇到未定义的方法错误。
undefined method graph_db' for #<Neo4j::Server::CypherSession:0x3922b0a5>
/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 假设您要使用嵌入式模式而不是服务器模式。我们应该找到一个更好的方法来解决这个问题,但目前如果您使用 WITHOUT_NEO4J_EMBEDDED
环境变量和值 true
,它应该加载正确的文件并解决您的问题。
编辑:
仅供参考,我已经提出了一个拉取请求,希望这会更容易:https://github.com/neo4jrb/neo4j-core/pull/244