Hi,
the vice-versa translation of the perl-module (SNMP::translateObj(); )
doesn't work correctly in both ways.
The MIB is translated to an OID correctly, but the translation from
OID to MIB is incomplete.
Version is 5.5 (i guess):
# snmpget -V
NET-SNMP version: 5.5
Heres the example perl-code:
my $mib = "QDDNS-SERVER-MIB::dnsServCounterRequests.query.in.a.udp";
my $oid_a_records = SNMP::translateObj("$mib");
print "$oid_a_records\n";
-> .1.3.6.1.4.1.1751.1.48.1.2.2.1.5.1.1.5.0.1.1.1
thats correct, but when i translate this back into a MIB, i get this:
my $back2mib = SNMP::translateObj("$oid_a_records",0,1);
print "$back2mib\n";
-> QDDNS-SERVER-MIB::dnsServCounterRequests.0.1.1.1
Changing the ARGs of the last method-call doesn't change something. I
played around with snmptranslate on shell-level:
# snmptranslate
QDDNS-SERVER-MIB::dnsServCounterRequests.query.in.a.udp -On
.1.3.6.1.4.1.1751.1.48.1.2.2.1.5.1.1.5.0.1.1.1
# snmptranslate .1.3.6.1.4.1.1751.1.48.1.2.2.1.5.1.1.5.0.1.1.1
QDDNS-SERVER-MIB::dnsServCounterRequests.query.in.a.udp
# snmptranslate .1.3.6.1.4.1.1751.1.48.1.2.2.1.5.1.1.5.0.1.1.1 -Td
QDDNS-SERVER-MIB::dnsServCounterRequests.query.in.a.udp
dnsServCounterRequests OBJECT-TYPE
-- FROM QDDNS-SERVER-MIB
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Number of requests (queries) that have been recorded
in
this row of the table."
::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1)
lucent(1751) products(1) vitalqip(48) vitalqipServices(1)
vitalqipDNS(2) dnsServMib(2) dnsServMibObjects(1)
dnsServCounterQuery(5) dnsServCounterTable(1) dnsServCounterEntry(1)
dnsServCounterRequests(5) 0 1 1 1 }
Note that it works correctly, but on the last line of the long output
the last numbers weren't translated like it was in perl.
This is a problem i found while getting used to perl/snmp. On the long
run, the perl script should perform several GETs and GETNEXTs and save
the result in a hash (with "MIB-Name" as Index and the returned value
as value for this index).
In my current thought about setting this up, i need to translate the
MIB to an OID to perform the query. But since i only know the 1st MIB
when performing GETNEXT (during a snmpwalk-like method in perl), i
need to translate the other OIDs back to MIBs when saving them in
hash.
Like i said, this is my current mindset of getting this done, but i'm
open to other approaches, if mine is broken by design.
As far as my knowledge about MIB-Files goes, i think the last 4 digits
of the OID (query.in.a.udp) are defined in 4 bulks:
4 Statements with query/update, IN/CH, A/PTR/CNAME and UDP/TCP and
snmp creates every possible combination of this. A snmpwalk in shell
returns values for query.in.a.udp, query.in.a.tcp, query.ch.a.udp and
so on.(massive output)
I hope this is enough information to get help on this.
Regards,
Tobias
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users