module Genesis::Snmp

Common helper methods for protocol

Public Class Methods

get(oids = [], **kwargs) click to toggle source

Send an SNMP get request

# File lib/genesis/protocol/snmp.rb, line 19
def self.get(oids = [], **kwargs)
  manager(kwargs) do |mgr|
    mgr.get(oids)
  end
end
send_trap(sys_up_time, trap_oid, object_list = [], **kwargs) click to toggle source

Send an SNMP trap, returns the length of the trap message sent

# File lib/genesis/protocol/snmp.rb, line 12
def self.send_trap(sys_up_time, trap_oid, object_list = [], **kwargs)
  manager(kwargs) do |mgr|
    return mgr.trap_v2(sys_up_time, trap_oid, object_list)
  end
end

Private Class Methods

manager(args) { |mgr| ... } click to toggle source

Create a manager and yield it to perform the request

# File lib/genesis/protocol/snmp.rb, line 45
def self.manager(args)
  host = args[:host] || '127.0.0.1'
  port = args[:port] || 161
  trapport = args[:trapport] || 162
  community = args[:community] || 'public'
  SNMP::Manager.open(Host: host, Port: port, TrapPort: trapport, Community: community) do |mgr|
    yield mgr
  end
end