class Check
Public Instance Methods
async_jobs()
click to toggle source
# File lib/cloudstack-nagios/commands/check.rb 78 def async_jobs 79 jobs = client.list_async_jobs(listall: true) 80 outstanding_jobs = jobs.select {|job| job['jobstatus'] == 0 } 81 if outstanding_jobs.size < options[:warning] 82 code = 0 83 elsif outstanding_jobs.size < options[:critical] 84 code = 1 85 else 86 code = 2 87 end 88 puts "async_jobs #{RETURN_CODES[code]} - jobs = #{outstanding_jobs.size} | jobs=#{outstanding_jobs.size}" 89 exit code 90 end
snapshots()
click to toggle source
# File lib/cloudstack-nagios/commands/check.rb 103 def snapshots 104 snapshots = client.list_snapshots(listall: true) 105 client.list_projects(listall: true).each do |p| 106 snapshots = snapshots.concat(client.list_snapshots(listall: true, project_id: p['id'])) 107 end 108 109 not_backed_up = snapshots.select{|s| s['state'] != 'BackedUp' } 110 warnings = [] 111 critical = [] 112 113 not_backed_up.each do |s| 114 age = (Time.now - Time.parse(s['created'])) / 3600 115 warnings << s if age > options[:warning] 116 critical << s if age > options[:critical] 117 end 118 119 code = if critical.size > options[:critical] 120 2 121 elsif warnings.size > options[:warning] 122 1 123 else 124 0 125 end 126 puts "snapshots #{RETURN_CODES[code]} - warnings = #{warnings.size}, critical = #{critical.size} | warnings=#{warnings.size} critical=#{critical.size}" 127 exit code 128 end
storage_pool()
click to toggle source
# File lib/cloudstack-nagios/commands/check.rb 48 def storage_pool 49 pool = client.list_storage_pools(name: options[:pool_name], zone: options[:zone]).first 50 # calculate overprovisioning only for network file systems 51 total_size = case pool['type'] 52 when 'NetworkFilesystem' 53 pool['disksizetotal'] * options[:over_provisioning] 54 else 55 pool['disksizetotal'] 56 end 57 data = check_data( 58 total_size, 59 pool['disksizeallocated'].to_f, 60 options[:warning], 61 options[:critical] 62 ) 63 puts "storage_pool #{options[:pool_name]} #{RETURN_CODES[data[0]]} - usage = #{data[1]}% | usage=#{pool['disksizeused']} usage_perc=#{data[1]}%" 64 exit data[0] 65 end