NagiosHelper
Gem for writing, testing, executing Nagios checks inside Rails application. Checks running throught http or script.
gem 'nagios_helper', :require => 'nagios'
$ rails generate nagios:check some
Check example:
app/nagios/some.rb
class Nagios::Some < Nagios::Check
params :x
def execute
count = User.count + x.to_i
warn "hmmm" if count < 10
crit "ouch" if count < 5
ok "good #{count}"
end
end
Run:
$ RAILS_ENV=production bundle exec nagios_check some x 1
Nagios Check Initilizers:
All files in app/nagios/initializers will auto loads.
Server:
Inside rails server
Create controller: app/controllers/nagios_controller.rb
class NagiosController < ApplicationController
http_basic_authenticate_with :name => "nagios", :password => "password"
def check
status, message = Nagios::Runner.check(params)
render :text => "#{status}|#{message}", :layout => false
end
end
$ curl http://nagios:password@localhost:3000/nagios/check?method=some&x=1