Module: SnmpHelper
- Included in:
- TmcHelpers
- Defined in:
- lib/helpers/tmc_helpers/snmp_helper/snmp_helper.rb
Instance Method Summary collapse
-
#snmp_get(host, object, args = {}) ⇒ Object
Public: Gets the specified SNMP object.
-
#snmp_set(host, object, value, args = {}) ⇒ Object
Public: Sets the specified SNMP object.
Instance Method Details
#snmp_get(host, object, args = {}) ⇒ Object
Public: Gets the specified SNMP object.
host - String hostname or IP. object - String object OID to retrieve. port - Integer SNMP port (default: 161). trap_port - Integer SNMP trap port (default: 162). community - String SNMP community string (default: ‘public’). write_community - String SNMP community string (default: ‘public’). version - Symbol SNMP version (default: :SNMPv2c). timeout - Integer timeout in seconds (default: 1). retries - Integer retries (default: 5). transport - Class SNMP transport (default: UDPTransport). max_recv_bytes - Integer maximum receive bytes (default: 8000). use_IPv6 - Boolean indicating whether to use IPv6 (default: false).
True if :host is formatted like an IPv6 address.
Returns a String of value retrieved.
26 27 28 29 30 31 32 33 |
# File 'lib/helpers/tmc_helpers/snmp_helper/snmp_helper.rb', line 26 def snmp_get(host, object, args={}) logger.debug("SNMP get: #{host}#{args[:port].nil? ? '' : ":#{args[:port]}"} #{object.inspect}") with_snmp_mgr(host, args) do |manager| result = manager.get([object]).each_varbind.map {|vb| vb.value.to_s}.first logger.debug("Result: #{result.inspect}") result end end |
#snmp_set(host, object, value, args = {}) ⇒ Object
Public: Sets the specified SNMP object.
host - String hostname or IP. object - String object OID to set. value - String value to set. port - Integer SNMP port (default: 161). trap_port - Integer SNMP trap port (default: 162). community - String SNMP community string (default: ‘public’). write_community - String SNMP community string (default: ‘public’). version - Symbol SNMP version (default: :SNMPv2c). timeout - Integer timeout in seconds (default: 1). retries - Integer retries (default: 5). transport - Class SNMP transport (default: UDPTransport). max_recv_bytes - Integer maximum receive bytes (default: 8000). use_IPv6 - Boolean indicating whether to use IPv6 (default: false).
True if :host is formatted like an IPv6 address.
Returns the result.
53 54 55 56 57 58 59 60 61 |
# File 'lib/helpers/tmc_helpers/snmp_helper/snmp_helper.rb', line 53 def snmp_set(host, object, value, args={}) logger.debug("SNMP set: #{host}#{args[:port].nil? ? '' : ":#{args[:port]}"} #{object.inspect} => #{value.inspect}") with_snmp_mgr(host, args) do |manager| varbind = VarBind.new(object, OctetString.new(value)) ret = manager.set(varbind) logger.debug("Result: #{ret.inspect}") ret end end |