nagios-probe
nagios-probe copied to clipboard
A very simple tool to assist with creating custom nagios probes in Ruby
= nagios-probe
Provides an easy to use API for generating custom probes and communicating probe success/failure to Nagios.
== Installation
# gem install nagios-probe
== Usage
Simply create a subclass of Nagios::Probe and define the following methods:
- check_crit
- check_warn
- check_ok (optional*)
- crit_message
- warn_message
- ok_message
*check_ok is defined in the base class to always return true.
class MyProbe < Nagios::Probe
def check_crit
true
end
def check_warn
false
end
def crit_message
"Things are bad"
end
def warn_message
"Things aren't going well"
end
def ok_message
"Nothing to see here"
end
end
To use your probe you must wrap it in a begin/rescue block to catch any exceptions and accurately report the status to Nagios.
begin
options = {} # Nagios::Probe constructor accepts a single optional param that is assigned to @opts
probe = MyProbe.new(options)
probe.run
rescue Exception => e
puts "Unknown: " + e
exit Nagios::UNKNOWN
end
puts probe.message
exit probe.retval
== 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 (c) 2009-2010 David Abdemoulaie. See LICENSE for details.