class Nagios::Promoo::Opennebula::Probes::VirtualMachineFailsProbe
Probe for checking ONe for FAILED virtual machines.
@author Boris Parak <parak@cesnet.cz>
Constants
- FAIL_KEYWORD
Public Class Methods
declaration()
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 21 def declaration 'virtual_machine_fails' end
description()
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 13 def description ['virtual-machine-fails', 'Run a probe checking for FAILED virtual machines'] end
options()
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 17 def options [] end
runnable?()
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 25 def runnable? true end
Public Instance Methods
run(_args = [])
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 32 def run(_args = []) Timeout.timeout(options[:timeout]) do fails = virtual_machine_pool.select { |vm| failed?(vm) } fails.map!(&:id) raise "Virtual machines #{fails.inspect} are in a FAILED state" if fails.count > 0 end puts 'VMFAILS OK - Everything is hunky-dory' rescue => ex puts "VMFAILS CRITICAL - #{ex.message}" puts ex.backtrace if options[:debug] exit 2 end
Private Instance Methods
failed?(vm)
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 56 def failed?(vm) vm.lcm_state_str.include?(FAIL_KEYWORD) || vm.state_str.include?(FAIL_KEYWORD) end
virtual_machine_pool()
click to toggle source
# File lib/nagios/promoo/opennebula/probes/virtual_machine_fails_probe.rb, line 48 def virtual_machine_pool vm_pool = OpenNebula::VirtualMachinePool.new(client) rc = vm_pool.info_all raise rc.message if OpenNebula.is_error?(rc) vm_pool end