nagios-probe icon indicating copy to clipboard operation
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.