Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby API for scraping Nagios
Ruby
tag: v0.2.4

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.document
.gitignore
LICENSE
README.rdoc
Rakefile
nagiosharder.gemspec

README.rdoc

nagiosharder

Query and command a Nagios install using the power of ruby.

require 'nagiosharder'
site = NagiosHarder::Site.new('http://path/to/nagios/cgi/directory', 'user', 'password', 'version')
# version defaults to 3

# get details back about a host's services
puts site.host_status('myhost')

# schedule a host to have services checks run again right now
site.schedule_host_check('myhost')

# get details on all services
site.service_status(:all)
# or just services that have problems 
site.service_status(:all_problems)
# (other valid symbols: :ok, :warning, :unknown, :critical, :pending, :all_problems)
# or make it sorted by  duration, descending
site.service_status(:all_problem, :sort_option => :duration, :sort_type => :desc
# (other sort_options: :host, :service, :status, :last_check, :duration, :attempts)
# (other sort_types: :asc, :desc)
# or get the details for a single service group
site.service_status(:all_problem, :group => "AWESOME")

# schedule a host to have services checks run again right now
site.schedule_service_check('myhost', 'myservice')

# schedule 20 minutes of downtime, starting now
site.schedule_host_downtime('myhost', :start_time => Time.now, :end_time => Time.now + 20.minutes)

# schedule a flexible 20 minutes of downtime between now and 2 hours from now
site.schedule_host_downtime('myhost', :type => :flexible, :start_time => Time.now, :end_time => Time.now + 2.hours, :hours => 0, :minutes => 20)

# acknowledge a down service
site.acknowledge_service('myhost', 'myservice', 'something bad happened')

# or unacknowledge
site.unacknowledge_service('myhost', 'myservice')

#

To be continue?

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don't break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright

Copyright © 2010 Josh Nichols. See LICENSE for details.

Something went wrong with that request. Please try again.