Module: SnmpDumper

Defined in:
lib/config.rb,
lib/runner.rb,
lib/walker.rb,
lib/snmpwalk_reader.rb,
lib/dumper/jalasoft_dumper.rb,
lib/dumper/simple_text_dumper.rb

Defined Under Namespace

Classes: Config, JalasoftDumper, Runner, SimpleTextDumper, SnmpVar, SnmpwalkReader, Walker

Constant Summary collapse

GENERIC_VALUE_CALLBACK =
lambda do |value_set, name, values| 
  value = values.first
  value_set.JSVALUE("value" => value)
end
OCTETSTRING_VALUE_CALLBACK =
lambda do |value_set, name, values|
  value = values.first
  if value =~ /[[:cntrl:]]/ then
    value_set.JSVALUE("value" => value.unpack('H*').first.upcase.scan(/.{1,2}/).join(" "), "hexa" => 1)
  else
    value_set.JSVALUE("value" => "foo")
  end
end
TIMETICKS_VALUE_CALLBACK =
lambda do |value_set, name, values| 
  value_set.JSVALUE("value" => values.first.to_i)
end
INTEGER_VALUE_CALLBACK =
lambda do |value_set, name, values|
  values = values.collect {|x| x.to_i}
  values.uniq!

  if values.size > 1 then
    values.each do |value|
      value_set.JSVALUE("value" => value.to_i, "weight" => 100 / values.size)
    end
  else
    value_set.JSVALUE("value" => values.first.to_i)
  end
end
DATA_TYPE_MAP =
{
  SNMP::Counter32 => {:syntax => "COUNTER", :callback => GENERIC_VALUE_CALLBACK},
  SNMP::Counter64 => {:syntax => "COUNTER", :callback => GENERIC_VALUE_CALLBACK},
  SNMP::Gauge32 => {:syntax => "GAUGE", :callback => GENERIC_VALUE_CALLBACK},
  SNMP::Integer => {:syntax => "INTEGER", :callback => INTEGER_VALUE_CALLBACK},
  SNMP::IpAddress => {:syntax => "IPADDRESS", :callback => GENERIC_VALUE_CALLBACK},
  SNMP::ObjectId => {:syntax => "OBJECTIDENTIFIER", :callback => GENERIC_VALUE_CALLBACK},
  SNMP::OctetString => {:syntax => "OCTETSTRING", :callback => OCTETSTRING_VALUE_CALLBACK},
  SNMP::TimeTicks => {:syntax => "TIMETICKS", :callback => TIMETICKS_VALUE_CALLBACK},
  String => {:syntax => "OCTETSTRING", :callback => GENERIC_VALUE_CALLBACK},
}