[collectd] SNMP plugin and "extended" tables

Phil Mayers p.mayers at imperial.ac.uk
Tue Feb 26 15:46:25 CET 2013


All,

I recently moved a collectd installation from a RHEL5 (collectd 4.10.3) 
to a RHEL6 machine (collectd 4.10.8). After the move, the snmp plugin 
stopped collecting some data, and started complaining:

snmp plugin: csnmp_instance_list_add failed.

The config causing trouble is this:

<Plugin snmp>
    <Data "std_traffic">
        Type "if_octets"
        Table true
        Instance "IF-MIB::ifDescr"
        Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets"
    </Data>
    <Host "rachael.net.ic.ac.uk">
        Address "..."
        Version 2
        Community "abc123"
        Collect "std_traffic"
        Interval 120
    </Host>
</Plugin>

I believe the issue is caused by the fact that ifDescr is not inside the 
same OID tree as ifHCInOctets - the former is under ifTable and the 
latter under ifXTable. But it worked on the older version :o(

In this case, the ifHC* OIDS are under ifXTable, which is defined as 
"augmenting" ifTable:

ifXTable        OBJECT-TYPE
     SYNTAX      SEQUENCE OF IfXEntry
     ...
     ::= { ifMIBObjects 1 }

ifXEntry        OBJECT-TYPE
     SYNTAX      IfXEntry
     MAX-ACCESS  not-accessible
     ...
     AUGMENTS    { ifEntry }
     ::= { ifXTable 1 }

I think the fix to this issue:

https://github.com/collectd/collectd/issues/131

...might have broken it. Is this intentional / desired / known?

Obviously I can work around this trivially (I'll probably write a script 
to gather the data and submit via unix socket) but it seems a bit 
unfortunate - conceptually, the "index" for ifXTable is ifIndex, which 
is also "out of tree".

Regards,
Phil



More information about the collectd mailing list