2016-06-01 5 views
0

メッセージがどこからトリガされているのかをRabbitMQから探す必要があるアプリケーションを実行しています。メッセージがprocess.rbファイルからRabbitMQにポストされていることがわかりました。私たちは、RabbitMQにどのようなメッセージが投稿されているかを確認するために電話をかけようとしました。そこで、私たちはubuntuマシンにgem rest-client-1.8.0を追加しました。そして、server/process.rbにいくつかのコードを追加しようとしました。また、コードにrequire 'rest-client'を追加しました。Sensu Ruby rest-client-1.8.0問題

以下に示すように、「rest-client」ヘッダーを追加しました。

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

エラー: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 /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in

」のは/ opt/sensuの/組込みから が必要です/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は、/opt/sensu/embedded/lib/ruby/2.0から ' が必要です。 0/RubyGemsの/ core_ext/kernel_require.rb:55: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のサーバから: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が独自のRuby上で動作することを発見したので、残りのクライアントの宝石をsensuにインストールしようとしました。しかし、我々は同じ問題に直面した。あなたは宝石をどこにインストールする必要があるか教えていただけますか?他の方法はありますか?私はメッセージを消費する必要があり、私は残りの呼び出しでペイロードを渡す必要があります。

+0

の埋め込まれたルビーの宝石にインストールされるようにしますが、 /opt/sensu/embedded/bin/gem install rest-clientをしたいあなたは gem install rest-client 行う場合は本当に便利ではありません'require:そのようなファイルを読み込めません'?たくさんの解決策があります。 – Kobbe

答えて

0

Sensuインストールのインストールには、埋め込みrubyが埋め込まれています。あなたのsensuを見つける、デフォルトは/opt/sensu/embeddedであり、内に含まれているbinディレクトリからgemを実行してください。これは、適切なルビーの場所に宝石を適用する必要があります。

0

あなたは埋め込みルビーを使用していますが、このエラーメッセージのヒントには、残りのクライアントの宝石がインストールされていないというヒントがあります。これはあなたが

を使用するものではありませんので、 それはあなたも上の検索しようとしたことがあり、それは意味