2014-07-15 3 views
1

그냥 Sensu 시작하고 핸들러를 테스트하려고 다음과 같은 오류로 실행하기 :로드 해당 파일 - sensu 핸들러

/etc/sensu/handlers$ ./hipchat.rb 
/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- sensu-handler (LoadError) 
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
from ./hipchat.rb:4 

핸들러는 Hipchat handler from Github입니다. API 키와 방이 설정된 동일한 디렉토리 (/ etc/sensu/handlers)에 핸들러 hipchat.rb와 hipchat.json이 있지만, 의도적으로 발생해야하는 치명적인 오류가 발생할 때 메시지가 나타나지 않습니다.

{"timestamp":"2014-07-15T22:32:38.936944+0000","level":"info","message":"handling event","event":{"client":{"name":"foo.bar.com","address":"10.101.105.41","subscriptions":["test","webservers","base"],"timestamp":1405463543},"check":{"handlers":["default","hipchat"],"command":"/etc/sensu/plugins/check-procs.rb -p cron -C 1 ","interval":60,"subscribers":["webservers"],"name":"cron_check","issued":1405463558,"executed":1405463558,"output":"CheckProcs CRITICAL: Found 0 matching processes; cmd /cron/\n","status":2,"duration":0.571,"history":["0","0","0","0","0","0","0","0","0","2","2","2","2","2","2","2","2","2","2","2","2"]},"occurrences":12,"action":"create"},"handler":{"type":"pipe","command":"cat","name":"stdout"}} 

$ which -a ruby 
/usr/bin/ruby 
$ which gem 
/usr/bin/gem 
$ ruby --version 
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux] 
$ lsb_release -a 
Description: Ubuntu 10.04.4 LTS 
Codename: lucid 

Sensu는 그렇지 않으면 행복하게 실행되는 것 같습니다. 내가

$ /opt/sensu/embedded/bin/ruby hipchat.rb 

을 EMBEDDED_RUBY = TRUE를 설정하고 실행하면 나는 더 출력을 얻을,하지만 난 루비를 종료 할 때 내가 얻을 : 분명히

^C/opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-0.3.0/lib/sensu-plugin/utils.rb:23:in `read': Interrupt 
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-0.3.0/lib/sensu-plugin/utils.rb:23:in `read_event' 
from /opt/sensu/embedded/lib/ruby/gems/2.0.0/gems/sensu-plugin-0.3.0/lib/sensu-handler.rb:53:in `block in <class:Handler>' 
/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require': cannot load such file -- hipchat (LoadError) 
from /opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require' 
from hipchat.rb:5:in `<main>' 

, 루비 나의 모국어가 아닌.
루비가 sensu-handler를 찾고 사용하려면 무엇을해야합니까?

편집 :

이 역시 sensu 서버 로그이 나타났습니다 :

{"timestamp":"2014-07-15T23:33:17.827369+0000","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/hipchat.rb","severities":["critical","ok"],"name":"hipchat"},"output":"/opt/sensu/embedded/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require': cannot load such file -- hipchat (LoadError)\n"} 

어떤 파일 hipchat.rb이 라인 5 'hipchat'을 요구하려고 할 때 참조한다? hipchat.json?

답변

3

아무도 질문에 대답하여 무료 포인트를 가져 본 이래로. 답은 어디서나 Hipchat 보석이 있었다 언급했다 아무것도

sudo /opt/sensu/embedded/bin/gem install hipchat 

었나요 좋았을 것입니다 :

가 Hipchat 보석을 설치 Sensu에서 포함 된 루비를 사용합니다. 제가 언급했듯이, Ruby를 처음 접했기 때문에 이것은 명백하지 않았습니다.

비 Sensu Ruby 문제는 Ruby 1.9를 설치하는 방법을 찾아야하는 것처럼 보입니다.

0

비슷한 문제가 있지만 sensu 메일러를 사용하고있었습니다. 나는 rvm이 임베디드 sensu 루비로 멋지게 놀지 않아야한다는 것을 알았습니다. 필자는 시스템 루비를 사용하여 rvm으로 sensu 마스터 서버를 다시 설치해야했습니다.

rvm --default use system 

는 sensu을 다시 설치 후, 나는 실제로 sensu 내장 된 루비 보석 폴더에 설치합니다 필요한 보석을 설치 할 수 있었다.

/opt/sensu/embedded/bin/gem install mail --no-ri --no-rdoc -v 2.5.4