2016-06-01 16 views
0

Wir machen eine Anwendung, in der wir herausfinden müssen, woher die Nachricht zu RabbitMQ auslöst. Wir haben festgestellt, dass die Nachricht von der Datei process.rb an RabbitMQ gesendet wird. Wir haben versucht, einen Restanruf zu tätigen, um herauszufinden, welche Nachricht an RabbitMQ gesendet wird. Also haben wir ein Juwel Rest-Client-1.8.0 in unserem Ubuntu-Rechner hinzugefügt. Und wir haben versucht, etwas Code in server/process.rb hinzuzufügen, und wir haben auch 'rest-client' im Code hinzugefügt.Sensu Ruby Rest-Client-1.8.0 Ausgabe

Ich habe die Überschrift "Rest-Client" wie unten gezeigt hinzugefügt.

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

Fehler:

/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‘ von/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 ' von /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 ' von/opt/sensu/bin/sensu-Server: 23: in load' from /opt/sensu/bin/sensu-server:23:in'

Sensu ist im Pfad "/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-0.20.3/lib/sensu" in unserem ubuntu-Rechner installiert. Wir haben versucht, das Rest-Client-Juwel in Sensu zu installieren, da wir feststellten, dass Sensu auf Ruby läuft. Aber wir standen vor demselben Problem. Kannst du uns sagen, wo wir den Edelstein installieren müssen? Gibt es einen alternativen Weg? Ich muss die Nachricht konsumieren, und ich muss die Payload in Ruheaufrufen weiterleiten.

+0

Haben Sie einmal versucht, auf der Suche 'require: kann diese Datei nicht laden'? Es gibt Tonnen von Lösungen. – Kobbe

Antwort

0

Ihre Sensu-Installationsinstallation enthält eine eingebettete ruby-Distribution. Suchen Sie Ihren Sinn, Standard ist /opt/sensu/embedded, und führen Sie das gem aus dem bin Verzeichnis, das darin enthalten ist. Dies sollte den Edelstein auf den richtigen Ruby-Standort anwenden.

0

Sie verwenden den eingebetteten Ruby und diese Fehlermeldung Hinweise, dass Sie nicht das Rest-Client-Juwel dort installiert haben. Es ist nicht wirklich hilfreich, wenn Sie gem install rest-client tun, weil dies nicht das, was werden Sie

verwenden mögen Sie /opt/sensu/embedded/bin/gem install rest-client, so dass es

zu eingebettetem Rubin Edelsteine ​​Sinn installiert wird