diff -r 6723f3b07536 -r d5cb8bd33170 lib/arborist/monitor/snmp/memory.rb --- a/lib/arborist/monitor/snmp/memory.rb Wed Apr 04 13:29:56 2018 -0700 +++ b/lib/arborist/monitor/snmp/memory.rb Sun Apr 08 18:11:49 2018 -0700 @@ -131,7 +131,7 @@ info = { memory: {}, swap: {} } mem_idx, swap_idx = nil - snmp.walk( MEMORY[:windows][:label] ).each_with_index do |(_, val), i| + snmp.walk( oid: MEMORY[:windows][:label] ).each_with_index do |(_, val), i| mem_idx = i + 1 if val =~ /physical memory/i swap_idx = i + 1 if val =~ /virtual memory/i end @@ -148,8 +148,8 @@ ### def calc_memory( snmp, oids ) info = { usage: 0, available: 0 } - avail = snmp.get( oids[:avail] ).varbinds.first.value.to_f - total = snmp.get( oids[:total] ).varbinds.first.value.to_f + avail = snmp.get( oid: oids[:avail] ).to_f + total = snmp.get( oid: oids[:total] ).to_f used = total - avail return info if avail.zero? @@ -166,9 +166,9 @@ info = { usage: 0, available: 0 } return info unless idx - units = snmp.get( MEMORY[:windows][:units] + ".#{idx}" ).varbinds.first.value - total = snmp.get( MEMORY[:windows][:total] + ".#{idx}" ).varbinds.first.value.to_f * units - used = snmp.get( MEMORY[:windows][:used] + ".#{idx}" ).varbinds.first.value.to_f * units + units = snmp.get( oid: MEMORY[:windows][:units] + ".#{idx}" ) + total = snmp.get( oid: MEMORY[:windows][:total] + ".#{idx}" ).to_f * units + used = snmp.get( oid: MEMORY[:windows][:used] + ".#{idx}" ).to_f * units info[ :usage ] = (( used / total ) * 100 ).round( 2 ) info[ :available ] = (( total - used ) / 1024 / 1024 ).round( 2 )