Sha256: e517d1223807d11e3d0d3629a34e2c11653f9a95d29c55364d444fa0c37449da
Contents?: true
Size: 821 Bytes
Versions: 1
Compression:
Stored size: 821 Bytes
Contents
module NagiosPlugin EXIT_CODES = { :ok => 0, :warning => 1, :critical => 2, :unknown => 3, } class Plugin def self.check! plugin = self.new plugin.check ensure puts plugin.message exit plugin.code end def check measure if respond_to?(:measure) @status = [:critical, :warning, :ok].select { |s| send("#{s}?") }.first raise "All status checks returned false!" if @status.nil? rescue => e @info_text = e.to_s raise end def message "#{service.upcase} #{status.upcase}: #{@info_text}" end def service self.class.name end def status @status || :unknown end def code EXIT_CODES[status] end def ok? true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nagiosplugin-0.0.2 | lib/nagiosplugin/plugin.rb |