Sensu Ruby rest-client-1.8.0问题

时间:2016-06-01 09:49:13

标签: ruby rest rubygems sensu

我们正在做一个应用程序,我们必须从中找到消息触发RabbitMQ的位置。我们发现该消息是从process.rb文件发布到RabbitMQ的。我们尝试进行休息调用以获取发布到RabbitMQ的消息。所以我们在ubuntu机器上添加了一个gem rest-client-1.8.0。我们尝试在server / process.rb中添加一些代码,并在代码中添加了require'rest-client'。

我已添加标题“rest-client”,如下所示。

require "sensu/server/filter"
require "sensu/server/mutate"
require "sensu/server/handle"
require "rest-client"

错误:

/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': cannot load such file -- rest-client (LoadError) from /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'     来自/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu/server/process.rb:5:in <top (required)>' from /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'     来自/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require' from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/bin/sensu-server:7:in'     来自/ opt / sensu / bin / sensu-server:23:load' from /opt/sensu/bin/sensu-server:23:in'

Sensu安装在我们的ubuntu机器的路径“/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu”中。我们试图在sensu中安装rest-client gem,因为我们发现Sensu将在自己的Ruby上运行。但是我们遇到了同样的问题。你能告诉我们在哪里安装宝石吗?还有其他方法吗?我必须使用消息,我必须在休息呼叫中传递有效负载。

3 个答案:

答案 0 :(得分:0)

您的Sensu安装安装具有嵌入式ruby分发版。找到您的sensu,默认为/opt/sensu/embedded,并从其中包含的gem目录运行bin。这应该将宝石应用到适当的红宝石位置。

答案 1 :(得分:0)

您正在使用嵌入式ruby并且此错误消息提示您没有安装rest-client gem。 如果你这样做,它并没有用 gem install rest-client 因为这不是你将使用的

你想要的 /opt/sensu/embedded/bin/gem install rest-client,以便将其安装到感知的嵌入式红宝石宝石

答案 2 :(得分:0)

这个问题太旧了,已经回答了,但是我正在基于Amazon ECS设置新的AMI,这个插件让我整天都遇到了上面的错误,所以什么都没做,尝试了一切。

即使更新了所有内容,但仍然没有运气,

然后尝试使用特定版本,该版本可以解决我的问题。

/opt/sensu/embedded/bin/gem install rest-client -v=1.7.2

这篇文章肯定值得赞扬。

https://docs.bmc.com/docs/ReleaseProcessMgt/50/installing/installing-alternate-ruby-interpreter