SNMP devices with non-consecutive interface OIDs
"Christian Gresser" <[email protected]>
| Newsgroups | gmane.network.cacti.user |
|---|---|
| Message-ID | <003301cd2bd0$49c79160$dd56b420$@de> |
Hello list, I'm not sure if this classifies as a bug but nevertheless, here we go ... I've noticed that Cacti (0.8.8) currently can't handle devices with non-consecutive interface OIDs like the Teldat (formerly Funkwerk) Bintec router (like http://www.teldat.de/en/bintec-RS120-173,113477.html). While these devices most probably don't follow RFC standards, they still exist and are used in many companies. What seems to happen is, that Cacti detects the number of interfaces but fails to enumerate them: ---------- Data Query Debug Information + Running data query [1]. + Found type = '3' [SNMP Query]. + Found data query XML file at '/var/www/cacti/resource/snmp_queries/interface.xml' + XML file parsed ok. + Executing SNMP get for num of indexes @ '.1.3.6.1.2.1.2.1.0' Index Count: 8 + Executing SNMP walk for list of indexes @ '.1.3.6.1.2.1.2.2.1.1' Index Count: 0 + No SNMP data returned ---------- Manually running snmpwalk gives the following output: ---------- # snmpwalk -v 2c -c public 10.0.0.1 .1.3.6.1.2.1.2.1.0 IF-MIB::ifNumber.0 = INTEGER: 8 # snmpwalk -v 2c -c public 10.0.0.1 .1.3.6.1.2.1.2.2.1.1 IF-MIB::ifIndex.0 = INTEGER: 0 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.1000 = INTEGER: 1000 IF-MIB::ifIndex.1001 = INTEGER: 1001 IF-MIB::ifIndex.1400 = INTEGER: 1400 IF-MIB::ifIndex.1401 = INTEGER: 1401 IF-MIB::ifIndex.10001 = INTEGER: 10001 ---------- As you can see, the ifIndex does not start with 1 but 0 and jumps depending on the interface type: ---------- rs120:> ifstat Index Descr Type Mtu Speed St Ipkts Ies Opkts Oes PhyAddr/ChgTime 000000 REFUSE othr 8192 0 up 0 0 0 0 0 00:00:00 000001 LOCAL othr 8192 0 up 0 0 0 0 0 00:00:00 000002 IGNORE othr 8192 0 up 0 0 0 0 0 00:00:00 001000 en1-0 eth 1500 100M up 3466225 0 4000640 0 00:a0:f9:23:cb:92 001001 en1-0-llc eth 1496 100M up 0 0 0 0 00:a0:f9:23:cb:92 001400 en1-4 eth 1500 100M up 1086229 0 3750804 0 00:a0:f9:23:cb:92 001401 en1-4-llc eth 1496 100M up 0 0 0 0 00:a0:f9:23:cb:92 010001 Internet ppp 1492 100M up 1064546 0 3517165 0 13 00:03:40 ---------- I tracked the issue down to <install_path>/cacti/lib/data_query.php and to the function query_snmp_host. Unfortunately my PHP knowledge is absolutely limited to correctly spell PHP. I'm willing to help debugging or test fixes (and will provide a small present to the programmer if fixed). Thanks, Btw: on http://bugs.cacti.net/main_page.php a wrong address is shown for this list, [email protected] instead of [email protected]. Someone might want to fix that as well. Best regards, Christian Gresser ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/